1. 程式人生 > >spring boot 系列---restful 增、刪、改、查

spring boot 系列---restful 增、刪、改、查

一 對於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);
    }