給swagger的接口添加描述

swgger非常便於前後端分離開發,通過給swagger添加描述就可以實現前後端共同的開發接口,以下介紹如何給swagger的接口添加描述。

一.創建實體,並在實體和屬性上使用@ApiModel()、@ApiModelProperty()註解。

註解的具體文檔請參考https://blog.csdn.net/dejunyang/article/details/89527348

1.1 工作者實體

//工作者實體
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
import java.util.List;

@Data
@TableName("XXW_WORKER_T")
@ApiModel("工作者實體")
public class XxwWorkerT extends FieldFillBean {
    /**
     * 主鍵
     */
    @TableId(value = "XXW_WORKER_ID", type = IdType.UUID)
    @ApiModelProperty("主鍵id")
    private String xxwWorkerId;
    /**
     * 姓名
     */
    @TableField("NAME")
    @NotEmpty(
            message = "姓名不能爲空"
    )
    @ApiModelProperty("姓名")
    private String name;
    /**
     * 年齡
     */
    @TableField("AGE")
    @ApiModelProperty("年齡")
    private Integer age;
    /**
     * 出生日期
     */
    @TableField("BIRTHDAY")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty("出生日期")
    private Date birthday;

    @ApiModelProperty("代碼表")
    private DemoTable demoTable;

    @ApiModelProperty("用戶表吧")
    private List<UserBa> userBas;
}

1.2 代碼表實體

//代碼表實體
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("demo表")
public class DemoTable {
    @ApiModelProperty("表名稱")
    private String tableName;

    @ApiModelProperty("表代碼")
    private String tableCode;
}

1.3 用戶吧實體

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel("userBa表")
public class UserBa {
    @ApiModelProperty("用戶名稱")
    private String userBaName;

    @ApiModelProperty("用戶代碼")
    private String userBaCode;
}

二、controller使用resultful風格請求

2.1 post請求

2.1.1 controller實現方式

  /**
     * 增加一個新的工作者
     */
    @ApiOperation("增加一名新的工作者")
    @RequestMapping(
            value = {"/addOneWorker"},
            method = {RequestMethod.POST}
    )
    public ResponseData addOneWorker(@Valid @RequestBody XxwWorkerT xxwWorkerT){
            this.xxwWorkerTService.addOneWorker(xxwWorkerT); //新增接口
            return SUCCESS_TIP;
    }

2.1.2 效果演示

2.2 get請求

2.2.1 controller實現方式

 /**
     * 條件分頁查詢工作者名單
     */
    @GetMapping(value = "/selectWorkerListByPage")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageSize", value = "每頁顯示數量", required = false, dataType = "Integer", example = "10", paramType = "query"),
            @ApiImplicitParam(name = "pageNo", value = "第幾頁,從1開始", required = false, dataType = "Integer", example = "1", paramType = "query"),
            @ApiImplicitParam(name = "name", value = "姓名", required = false, dataType = "String", paramType = "query"),
            @ApiImplicitParam(name = "age", value = "年齡", required = false, dataType = "Integer", paramType = "query"),
            @ApiImplicitParam(name = "birthday", value = "出生日期", required = false, dataType = "String", paramType = "query")
    })
    @ResponseBody
    @ApiOperation(value = "條件分頁查詢工作者名單", notes = "條件分頁查詢工作者名單")
    public RawResponseQi selectWorkerListByPage(
            @RequestParam(required = false) String name,
            @RequestParam(required = false) Integer age,
            @RequestParam(required = false) String birthday) {
        return xxwWorkerTService.selectWorkerListByPage(name, age, birthday);
    }

2.2.2 效果演示

2.3 put請求

2.3.1 controller實現方式

 /**
     * 更新工作者信息
     */
    @PutMapping(value = "/updateOneWorker")
    @ApiOperation(value = "修改一名工作者信息", notes = "修改一名工作者信息")
    public ResponseData updateOneWorker(@Valid @RequestBody XxwWorkerT xxwWorkerT){
        this.xxwWorkerTService.updateOneWorker(xxwWorkerT);
        return SUCCESS_TIP;
    }

2.3.2 效果演示

2.4 delete請求

2.4.1 delete實現方式

@DeleteMapping(value = "/deleteOneWorker")
    @ApiOperation(value = "刪除一名新的工作者", notes = "刪除一名新的工作者")
    public ResponseData deleteOneWorker(@RequestParam(value = "id",required = true) String id){
        this.xxwWorkerTService.deleteOneWorker(id);
        return SUCCESS_TIP;
    }

2.4.2 效果演示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章