使用@RequestParam和@RequestBody的区别 @NotEmpty 和 @Valid @NotNull区别

@RequestBody 注解是接收整个参数对象的
@RequestParam注解是接收单个参数的
以上两个都作用在Controller层

@NotEmpty注解作用在Controller层控制传入的单个参数不为空,可以与上面的@RequestParam注解搭配使用
@NotNull注解作用在Query等传参对象类中某个字段上,同时需要在接收这个对象的Controller层加上@Valid 注解才能保证生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`@RequestBody` 是Spring MVC中一个常用的注解,用于从HTTP请求的正文(通常对应于JSON、XML或form数据)中解析请求体作为方法的参数。如果你想设置`@RequestBody`参数为必填,可以通过几种方式: 1. **使用Java的`javax.validation.constraints.NotNull`注解**: ```java @Validated public class MyRequest { @NotNull(message = "请求体字段不能为空") private String requiredField; // ... 其他字段 } ``` 这里,`@NotNull`注解会确保`requiredField`字段在验证时不能为null。 2. **使用Spring MVC的`@NotEmpty`注解**: ```java public class MyRequest { @NotEmpty(message = "请求体字段不能为空") private String requiredField; } ``` `@NotEmpty`注解对字符串类型特别有效,它会检查字段是否为空(包括null和空字符串)。 3. **使用`@NotBlank`或`@NotBlankOrNull`**,这些注解在Spring Boot中提供,对于非空且非空格的字符串更为精确。 4. **在控制器方法上使用`@Valid`注解,结合全局的校验规则**: ```java @PostMapping @ResponseBody public ResponseEntity<?> handle(@Valid MyRequest request, BindingResult result) { if (result.hasErrors()) { return ResponseEntity.badRequest().body(result.getAllErrors()); } // 处理请求 } ``` 如果`BindingResult`中的错误列表不为空,说明至少有一个必填字段未填写,响应码通常是400 Bad Request。 如果你需要客户端验证,还可以考虑使用前端框架(如JavaScript)来配合后端验证,提高用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值