在请求过程中如何确保参数不为空?

        在前后端发送和响应请求时,如何对所传送的参数确保非空或不等于null,这可以从两个地方考虑前端参数传递和后端参数接收。

从前端角度来看:

1. 使用HTML表单验证:使用HTML5内置的输入框类型,可以验证用户的输入是否为空;
2. JavaScript客户端验证:使用JavaScript可以进行更复杂的验证逻辑,并且可以在用户输入时动态反馈;
3. 使用前端框架的验证:许多现代前端框架和库提供了内置的表单验证功能,列如:react使用react-hook-formformik等库进行表单验证和Vue使用v-modelv-validate等进行表单验证;
4. 使用TypeScript进行静态类型检查:通过类型检查确保传递的参数符合要求

从后端角度来说:(对于springboot框架)

1. 使用@RequestParam注解和@NotNull:在控制层的请求参数上做验证
@RequestParam("param1") @NotNull(message = "param1 cannot be null") String param1
2. 使用@Valid和自定义请求体对象:@Valid在控制层的请求参数上配置并验证,@NotNull在自定义的请求体对象的字段上做限制
@RequestBody @Valid MyRequest request
@NotNull(message = "executionId cannot be null") private Long executionId;
3. 手动验证参数:对接收到的参数手动验证是否非空
4. 使用Spring Boot的全局异常处理:使用Spring Boot的全局异常处理来捕获验证异常,并返回适当的错误响应。使用@ControllerAdvice@ExceptionHandler来处理验证失败的异常。
@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<Map<String, String>> handleValidationExceptions(MethodArgumentNotValidException ex) { Map<String, String> errors = new HashMap<>(); ex.getBindingResult().getAllErrors().forEach((error) -> { String fieldName = ((FieldError) error).getField(); String errorMessage = error.getDefaultMessage(); errors.put(fieldName, errorMessage); }); return new ResponseEntity<>(errors, HttpStatus.BAD_REQUEST); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值