@GetMapping("/one/{id}")
public String one(@PathVariable String id){
return "id:"+id;
}
@DeleteMapping("/oneDel/{id}")
public String oneDel(@PathVariable String[] id){
return "id:"+ Arrays.toString(id);
}
@GetMapping("/tow")
public String tow(String id){
return "id:"+id;
}
@GetMapping("/three")
public String three(@RequestParam Map<String,Object> param){
return "param:"+param;
}
@GetMapping("/four")
public String four(User user){
return "user:"+user;
}
{
"name":"小树",
"age":18,
"sex":1
}
@PostMapping("/five")
public String five(@RequestBody User user){
return user.toString();
}
import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.validation.BindException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import java.util.stream.Collectors;
@ControllerAdvice
public class WebExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public Result MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining());
return new Result().setCode(500).setMsg(message).setData(null);
}
@ExceptionHandler(BindException.class)
@ResponseBody
public Result BindExceptionHandler(BindException e) {
String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining());
return new Result().setCode(500).setMsg(message).setData(null);
}
@ExceptionHandler(ConstraintViolationException.class)
@ResponseBody
public Result ConstraintViolationExceptionHandler(ConstraintViolationException e) {
String message = e.getConstraintViolations().stream().map(ConstraintViolation::getMessage).collect(Collectors.joining());
return new Result().setCode(500).setMsg(message).setData(null);
}
}
@GetMapping("/getInfo")
public Object get(@Valid @NotNull(message = "id不能为空") Integer id){
return id;
}
@PostMapping("/toDo")
public Object toDo(@Validated User user){
return user;
}
@Data
public class User {
@NotEmpty(message = "用户名不能为空")
private String name;
private Integer age;
private Integer sex;
}
public interface ValidGroupInsert {
}
public interface ValidGroupEdit {
}
@Data
public class User {
@NotEmpty(message = "用户名不能为空")
private String name;
@NotNull(message = "年龄不能为空",groups = {ValidGroupInsert.class, ValidGroupEdit.class})
private Integer age;
private Integer sex;
}
@PostMapping("/add")
public Object add(@Validated({ValidGroupInsert.class, ValidGroupEdit.class})
@RequestBody User user){
return user;
}