spring boot的接口参数校验

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注解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章