spring boot的接口參數校驗
@Api(tags= {"校驗案例接口"})
@RestController
@RequestMapping("/validate")
@Validated
public class ValidateDemoController {
@Autowired
private IValidateDemoService validateDemoService;
/**
* 校驗名稱接口
* @param name
* @return
*/
@ApiOperation(value="校驗名稱接口",httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name="name", value="名稱", dataType = "String", required=true, paramType = "query")
})
@GetMapping("/name")
public Object validateName(@NotBlank(message = "名稱不能爲空") String name) {
return validateDemoService.validateName(name);
}
/**
* 校驗test對象接口
* @param param
* @return
*/
@ApiOperation(value="校驗test對象接口",httpMethod = "Post")
@PostMapping("/name")
public Object validateTest(@RequestBody @Valid Test param) {
return validateDemoService.validateTest(param);
}
}
接口通過註解進行校驗,在統一異常返回那進行處理,然後返回對應的code。需要注意的事,對於單個字段校驗,需要在類上加上@Validated註解。對於對象裏的字段校驗,需要加上@Valid註解。