swagger註釋API詳細說明和示例
阿新 • • 發佈:2019-01-23
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) {
}
}