1. 程式人生 > >swagger註釋API詳細說明和示例

swagger註釋API詳細說明和示例

package com.chehejia.vl.api; import com.alibaba.fastjson.JSON; import com.chehejia.boot.starter.cache.CacheManager; import com.chehejia.framework.beans.model.Response; import com.chehejia.starter.ois.model.response.ResponseModel; import com.chehejia.starter.ois.service.OisClient; import com.chehejia.starter.ois.utils.OisUtil;
import com.chehejia.vl.domain.VlTransitionPlan; import com.chehejia.vl.domain.VlTransitionPlanItem; import com.chehejia.vl.enums.BillType; import com.chehejia.vl.enums.VLCacheKey; import com.chehejia.vl.model.AppLogInfo; import com.chehejia.vl.model.StatusCode; import com.chehejia.vl.model.transitionPlan.*;
import com.chehejia.vl.service.TransitionPlanMiniService; import com.chehejia.vl.utils.EmptyUtil; import com.chehejia.vl.utils.FastJsonUtils; import com.chehejia.vl.utils.SequenceUtil; import com.google.common.collect.Lists; import io.swagger.annotations.*; import lombok.AllArgsConstructor; import lombok.Getter
; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.OffsetDateTime; import java.util.Arrays; import java.util.Collections; import java.util.List; @Slf4j @RestController @RequestMapping("/plan") public class TransitionPlanApi { @Autowired OisClient oisClient; @Autowired private TransitionPlanMiniService planService; @Autowired private CacheManager cacheManager; //呼叫介面 final boolean useService = true; //swagger預設初始化引數,必須定義成常量 class Contants{ private Contants(){}; public static final String planCode = "E10320180525154714001"; public static final String vin1 = "10000000000001999"; public static final String vin2 = "10000000000001998"; public static final String valCode = "1234"; } @ApiOperation("介面描述:[運輸端]校驗計劃對應的操作碼是否正確") @ApiResponses({ @ApiResponse(code = 0, message = "校驗成功"), @ApiResponse(code = 20001, message = "校驗失敗"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"),}) @ApiImplicitParams({ @ApiImplicitParam(name = "planCode", value = "計劃編碼", required = true, defaultValue = Contants.planCode), @ApiImplicitParam(name = "valCode", value = "驗證碼", required = true, defaultValue = Contants.valCode), }) @RequestMapping(value = "/validate/{planCode}/{valCode}", method = RequestMethod.POST) public Response<Boolean> valiOperate(@PathVariable String planCode, @ApiParam("驗證碼") @PathVariable String valCode) { } @ApiOperation("介面描述:掃描車輛定位計劃與車輛驗車") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 20001, message = "查詢不到資料"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"), }) @ApiImplicitParams({ @ApiImplicitParam(name = "vin", value = "VIN", required = true, defaultValue = Contants.vin1), }) @RequestMapping(value = "/scanPlan/{vin}", method = RequestMethod.POST) public Response<VV3> scanPlan(@PathVariable String vin) { } @ApiOperation("介面描述:掃描車輛進行驗車") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 20001, message = "查詢不到資料"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"),}) @ApiImplicitParams({ @ApiImplicitParam(name = "planCode", value = "計劃編碼", required = true, defaultValue = Contants.planCode), @ApiImplicitParam(name = "vin", value = "VIN", required = true, defaultValue = Contants.vin1), }) @RequestMapping(value = "/scan/{planCode}/{vin}", method = RequestMethod.POST) public Response<VV3> valiVin(@PathVariable String planCode, @PathVariable String vin) { } @ApiOperation("介面描述:單獨上傳質損圖片") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"), }) @ApiImplicitParams({ @ApiImplicitParam(name = "planCode", value = "計劃編碼", required = true, defaultValue = Contants.planCode), @ApiImplicitParam(name = "vin", value = "VIN", required = true, defaultValue = Contants.vin1), }) @RequestMapping(value = "/upload-damage/{planCode}/{vin}", method = RequestMethod.POST) public Response<String> uploadDamageImg(@PathVariable String planCode, @PathVariable String vin, HttpServletRequest request) { } @ApiOperation("介面描述:確認質損(下一步)") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 20001, message = "執行失敗"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"), }) @ApiImplicitParams({ @ApiImplicitParam(name = "planCode", value = "計劃編號", required = true, defaultValue = Contants.planCode), @ApiImplicitParam(name = "vin", value = "vin", required = true, defaultValue = Contants.vin1), @ApiImplicitParam(name = "eleQuity", value = "電量", defaultValue = "100"), @ApiImplicitParam(name = "mileage", value = "公里數", defaultValue = "50"), @ApiImplicitParam(name = "otherDesc", value = "其他備註", defaultValue = "測試備註資訊"), @ApiImplicitParam(name = "damageInfo.veryBad", value = "是否嚴重事故", defaultValue = "true"), @ApiImplicitParam(name = "damageInfo.badPoint1", value = "質損部位1", defaultValue = "MLT2/MLB3"), @ApiImplicitParam(name = "damageInfo.badPoint2", value = "質損部位3", defaultValue = "MLT2/MLB3"), @ApiImplicitParam(name = "damageInfo.badPoint3", value = "質損部位3", defaultValue = "MLT2/MLB3"), @ApiImplicitParam(name = "damageInfo.imgs", value = "圖片id集合", defaultValue = "imageCode1,imageCode2,imageCode3"), @ApiImplicitParam(name = "damageInfo.damageDesc", value = "質損描述", defaultValue = "質損測試資料描述"), }) @RequestMapping(value = "/confirm-damage", method = RequestMethod.POST) public Response<Boolean> confirmDamageImg( DamageInfoAndDes damageInfoAndDes) { } @ApiOperation("介面描述:查詢計劃列表") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"),}) @ApiImplicitParams({ @ApiImplicitParam(name = "planType", value = "計劃型別(10提車20交車)", required = true, defaultValue = "10"), @ApiImplicitParam(name = "date", value = "日期(格式:yyyy-MM-dd)"), @ApiImplicitParam(name = "dwCode", value = "道位編碼"), @ApiImplicitParam(name = "carNo", value = "車牌號"), }) @RequestMapping(value = "/query", method = RequestMethod.POST) public Response<List<TransionPlanInfo>> queryPlan(TransionPlanQuery query) { } @ApiOperation("介面描述:檢視計劃詳情") @ApiResponses({ @ApiResponse(code = 0, message = "執行成功"), @ApiResponse(code = 40001, message = "引數不合法"), @ApiResponse(code = 50001, message = "系統異常"),}) @ApiImplicitParams({ @ApiImplicitParam(name = "planCode", value = "計劃編碼", required = true, defaultValue = Contants.planCode), }) @RequestMapping(value = "/detail/{planCode}", method = RequestMethod.GET) public Response<TransionPlanInfoAndVin> lookPlanDetail(@PathVariable String planCode) { } }