博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot参数检验,Assert使用
阅读量:3913 次
发布时间:2019-05-23

本文共 775 字,大约阅读时间需要 2 分钟。

assert:断言是java的一个保留字,用来对程序进行调试,后接逻辑运算表达式,如下:

int a = 0, b = 1;assert a == 0 && b == 0;使用方法:javac编译源文件,再java -ea class文件名即可。

在springboot中可以使用spring提供的Assert类的方法对前端来的参数进行校验,如:

@GetMapping(value = "/search")public String testAssert(Integer userId){    Assert.notNull(userId, "用户信息不能为空");    return "ok";}

这里对userId进行了非空的检验,为空就抛非法参数异常,要是需要对某个对象的某属性进行检验可以参考:。

异常抛出后,默认情况先会将异常信息传给browser,这样不太友好,我们可以在定义一个全局异常处理器对异常进行捕获,给browser友好的提示,代码如下:

@ControllerAdvicepublic class GlobalExcHandler {    /**     * @description:处理由断言,IllegalArgumentException抛出得异常信息     * @return java.lang.String     */    @ResponseBody    @ExceptionHandler(value = IllegalArgumentException.class)    public String handleArgError(IllegalArgumentException e){        return e.getMessage();    }}

测试:

 

console端出警告:

 

转载地址:http://pizrn.baihongyu.com/

你可能感兴趣的文章
再分享 5 个 vs 调试技巧
查看>>
.NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
查看>>
跟我一起学.NetCore之熟悉的接口权限验证不能少(Jwt)
查看>>
.NET Standard 来日苦短去日长
查看>>
HttpReports 2.0 发布了 !!!
查看>>
进击吧! Blazor !第四期 组件开发
查看>>
.NET Core使用FluentEmail发送邮件
查看>>
你不该错过的2020中国开源年报,填开源开发者问卷,成为国内开源的见证者
查看>>
设计一个具有等待队列的连接池
查看>>
WPF MVVM 弹框之等待框
查看>>
浅议C#客户端和服务端通信的几种方法:Rest和GRPC和其他
查看>>
ASP.NET Core Blazor WebAssembly 之 .NET JavaScript互调
查看>>
做.NET开发多年,公司要我转Java...
查看>>
全球顶级开源大神们现身 COSCon'20
查看>>
只要十步,你就可以应用表达式树来优化动态调用
查看>>
首个使用Blazor 技术实现的社区软件 BlazorCommunity 发布
查看>>
Dotnet Core使用特定的SDK&Runtime版本
查看>>
【BCVP升级】泛型主键的使用
查看>>
C#知多少 | 每个版本都更新了什么?
查看>>
甲骨文是否可以要求 Java API 享有版权?这场10年官司怎么结
查看>>