一 对于Restful 的理解
如下图:左为传统风格,右为restful 风格
二、Restful 的:增、删、改、查
1、增,使用了:
@PostMapping:描述了请求的行为
@RequestBody:提交数据为body,使用json提交数据
@Valid:JSR303 数据校验
/**
* 增
* @param user
* @return
*/
@PostMapping("/user")
public Result<List<FailMsg>> save(@RequestBody @Valid User user, BindingResult bindingResult){
if(bindingResult.hasErrors()){
List<FailMsg> list = bindingResult.getFieldErrors().stream().map(fe -> {
FailMsg failMsg = new FailMsg(fe.getField(),fe.getDefaultMessage());
return failMsg;
}).collect(Collectors.toList());
return Result.error(list);
}
return Result.success();
}
2、删,使用DeleteMapping
/**
* 删
* @param id
* @return
*/
@DeleteMapping("/user/{id:\\d+}")
public Result delete(@PathVariable Integer id){
//todo delete operation
return Result.success();
}
3、改,使用@PutMapping
/**
* 修改
* @param user
* @return
*/
@PutMapping("/user")
public Result update(@RequestBody @Valid User user){
//todo update operation
return Result.success();
}
4、查、使用@GetMapping
/**
* 查
* @param id
* @return
*/
@GetMapping("/user/{id:\\d+}")
public Result<User> get(@PathVariable Integer id){
User user = new User();
user.setId(id);
user.setName("123");
return Result.success(user);
}