spring参数校验 参数接收

spring参数校验 参数接收


一、参数校验

说明:如果不加@Valid注解验证不会生效。

.@NotNull:
不能为null,但可以为empty(""," “,” ") ,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制

2.@NotEmpty:
不能为null,而且长度必须大于0(" “,” "),一般用在集合类上面

3.@NotBlank:
这玩意只能作用在接收的String类型上,注意是只能,不能为null,而且调用trim()后,长度必须大于0

@Validated:用在方法入参上无法单独提供嵌套验证功能。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。

@Valid:用在方法入参上无法单独提供嵌套验证功能。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。

如果controller中某个方法做基本类型参数验证需要在类上添加@Valid注解


@RestController
@RequestMapping(value = "/wallet_log", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Slf4j
@Valid
@Api(tags = "app-消费记录")
public class CpWalletLogController extends BaseController {
	
	@ApiOperation(value = "根据app用户id 分月查询明细记录")
    @ApiImplicitParams(
            @ApiImplicitParam(name = "uid", value = "app用户id", dataType = "string")
    )
    @PostMapping("/select_page_month")
    @Validated
    public ServerResponse selectPageByMonth(@RequestHeader("uid") @NotBlank(message = "app用户id不能为空") String uid, @Valid AppWalletLogQo appWalletLogQo) {
        IPage<CpWalletLogVo> walletLogVoIPage = cpWalletLogService.selectPageByMonth(uid, appWalletLogQo);
        return ServerResponse.success(walletLogVoIPage);
    }

}

如果controller中某个方法做对象参数验证 需要在当前方法入参添加@Valid注解

 public String getUsername(@Valid User user){}

二、参数接收

注意:

@ResponseBody 返回值为json字符串
@RequestBody (@RequestBody AdminUserMenu adminUserMenu) 对象类型的入参为>@RequestBody 但对象中要有对应的属性
@RequestParam (@RequestParam(“id”) String id) 基本数据类型用@RequestParam

@Param(“warehouseId”) Mapper中多参数传递用

 String refundAmountTotal(@Param("refundStatus") String refundStatus);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值