SpringBoot 中怎么来处理前端传来参数校验异常

本文介绍了SpringBoot中处理前端参数校验异常的几种方式,包括直接校验并返回错误信息、利用BindingResult获取校验结果、集中处理异常以及使用JSR303进行分组校验,旨在规范系统错误码,提供更友好的前端交互体验。
摘要由CSDN通过智能技术生成

1、前提

  • 导入依赖
	 <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>

2、直接校验,返回系统给你的错误信息

  • 从前端传来的封装对象,该对象的bean(BrandEntity 为例)属性你添加了校验注解(@NotNull,@NotEmpty 等)。
  • @Valid标注在controller里面的请求体,告诉spring该实体类的属性需要校验,那么一旦校验不通过就会返回错误信息给前端
    @RequestMapping("/save")
    public R save(@Valid @RequestBody BrandEntity brand ){
   

3、利用BindingResult

  @RequestMapping("/save")
    public R save(@Valid @RequestBody BrandEntity brand , BindingResult result){
   
  • BindingResult里面就封装的对应实体类的校验结果
  • BindingResult
public interface BindingResult extends Errors {
   
    String MODEL_KEY_PREFIX = BindingResult.class.getName() + ".";

    @Nullable
    Object getTarget();

    Map<String, Object> getModel();

    @Nullable
    Object getRawFieldValue(String var1);

    @Nullable
    PropertyEditor findEditor(@Nullable String var1, @Nullable Class<?> var2);

    @Nullable
    PropertyEditorRegistry getPropertyEditorRegistry();

    String[] resolveMessageCodes(String var1);

    String[] resolveMessageCodes(String var1, String var2);

    void addError(ObjectError var1);

    default void recordFieldValue(String field, Class<?> type, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值