天天看點

Swagger2實作Restful API 參數圖例

為了友善大家學習觀看,我分别用了幾種不同的方法寫,

1.删除使用者,代碼如下

@ApiOperation(value="删除使用者", notes="根據使用者的id來删除使用者")
    @ApiImplicitParam(name = "id", value = "使用者ID", required = true,paramType = "query", dataType = "Integer")
    @DeleteMapping(value="/deleteUserById")
    public String deleteUserById(@RequestParam(value = "id")int id){
        User user = userRepository.findById(id);
        userRepository.delete(user);
        return "success!";
    }      

2.擷取使用者詳細資訊

@ApiOperation(value="擷取使用者詳細資訊", notes="根據使用者的id來擷取使用者詳細資訊")
    @ApiImplicitParam(name = "id", value = "使用者ID", required = true,paramType = "query", dataType = "Integer")
    @GetMapping(value="/findById")
    public User findById(@RequestParam(value = "id")int id){
        User user = userRepository.findById(id);
        return user;
    }      

3.擷取使用者清單

@ApiOperation(value="擷取使用者清單", notes="擷取使用者清單")
    @GetMapping(value="/getUserList")
    public List getUserList(){
        return userRepository.findAll();
    }      

4.儲存使用者

@ApiOperation(value="儲存使用者", notes="儲存使用者")
    @PostMapping(value="/saveUser")
    public String saveUser(@RequestBody @ApiParam(name="使用者對象",value="傳入json格式",required=true) User user){
        userRepository.save(user);
        return "success!";
    }      
@ApiOperation(value="修改使用者", notes="修改使用者")
    @ApiImplicitParams({
            @ApiImplicitParam(name="id",value="主鍵id",required=true,paramType="query",dataType="Integer"),
            @ApiImplicitParam(name="username",value="使用者名稱",required=true,paramType="query",dataType = "String"),
            @ApiImplicitParam(name="password",value="使用者密碼",required=true,paramType="query",dataType = "String")
    })
    @PutMapping(value="/updateUser")
    public String updateUser(@RequestParam(value = "id")int id,@RequestParam(value = "username")String username,
                             @RequestParam(value = "password")String password){
        User user = new User(id, username, password);
        userRepository.save(user);
        return "success!";
    }