Java笔记-使用BindingResult把表单错误传出来

2023年4月10日11:07:38

目录

 

基本概念

演示及代码


 

基本概念

这里在特别是在提交表单数据的数据很常见,当提交的数据不完整的时候,也要回Json,并且把错误代码发出来,这里就的使用

BindingResult。

 

演示及代码

正确的例子:

当少一个key和value时:

此时会有Message。

服务器里面:

使用异常,这样也增强了程序的方便,和健壮,方便使用。

程序结构如下:

代码如下:

TestController.java

package parademo.demo.controller;

import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import parademo.demo.enums.ResultEnum;
import parademo.demo.exception.TestException;
import parademo.demo.form.TestForm;

import javax.validation.Valid;

@RestController
@RequestMapping("/test")
public class TestController {

    @PostMapping("/create")
    public String create(@Valid TestForm form,
                         BindingResult bindingResult){

        if(bindingResult.hasErrors()){

            throw new TestException(ResultEnum.ERROR_ONE.getCode(),
                    bindingResult.getFieldError().getDefaultMessage());
        }
        System.out.println(form);

        return "呵呵哒";
    }

    @PostMapping("/create2")
    public String create2(@RequestParam("name") String name,
                          @RequestParam("phone") String phone){

        System.out.println("name: " + name + "   " + "phone: " + phone);
        return "呵呵呵";
    }
}

ResultEnum.java

package parademo.demo.enums;

import lombok.Getter;

@Getter
public enum  ResultEnum {

    ERROR_ONE(1, "错误一"),
    ERROR_TWO(2, "错误二"),
    ERROR_THREE(3, "错误三"),
    ERROR_FOUR(4, "错误四");

    private Integer code;
    private String message;

    ResultEnum(Integer code, String message){

        this.code = code;
        this.message = message;
    }
}

TestException.java

package parademo.demo.exception;

public class TestException extends RuntimeException{

    private Integer code;
    public TestException(){

    }

    public TestException(Integer code, String message){

        super(message);
        this.code = code;
    }
}

  • 作者:IT1995
  • 原文链接:https://it1995.blog.csdn.net/article/details/99209359
    更新时间:2023年4月10日11:07:38 ,共 1663 字。