目录
基本概念
演示及代码
这里在特别是在提交表单数据的数据很常见,当提交的数据不完整的时候,也要回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; } }