Spring中@Pattern的使用

为什么80%的码农都做不了架构师?>>>   hot3.png

Controller层

@RestController
@Validated
class Controller {
  // ...
}

为Controller添加@Validated表示启用验证。

@GetMapping
public ResponseEntity> query(@RequestHeader("iv-user") String userId,
                                                  @Pattern(regexp = "^accessor$", message = "请求参数不合法")
                                                  @RequestParam("findBy") String accessor,
                                                  @RequestParam("accessorId") long accessorId){
        //...
}

为Controller中特定请求添加@Pattern(regexp = "^accessor$", message = "请求参数不合法")正则表达式校验。

Json响应

{
    "timestamp": "2018-07-19T02:08:01.372+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "query.accessor: 请求参数不合法",
    "path": "/budget/permissions"
}

总结

很方便,还可以自己捕获这个异常的对返回进行自定义处理。

参考:

Spring Boot REST @RequestParam not being Validated

转载于:https://my.oschina.net/fxtxz2/blog/1859600

你可能感兴趣的:(Spring中@Pattern的使用)