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