swagger界面非必傳參數的設置


修改之前:

第一次代碼實現:
@RequestMapping(path="/getByStoreAndTypeAndSn/{storeId}/{versionType}/{terminalSn}", method=RequestMethod.GET )
public TerminalSet getListByStoreIdAndVersionAndSn(@PathVariable("storeId") Long storeId,@PathVariable("versionType") Integer versionType,@PathVariable("terminalSn") String terminalSn){
    return terminalSetService.getListByStoreIdAndVersionAndSn(storeId,versionType,terminalSn);
}

第二次代碼實現:
@ApiOperation(value="根據分店編號和版本類型,設備Sn號獲取注冊信息,用於設備加載時認證")
@RequestMapping(path="/getByStoreAndTypeAndSn", method=RequestMethod.GET )
@ApiImplicitParams({
@ApiImplicitParam(name="storeId",value="部門編號",paramType = "query"),
@ApiImplicitParam(name="versionType",value="版本類型(0-總店版 1-門店版 2-收銀台版)",allowableValues="0,1,2",paramType = "query",required=true),
@ApiImplicitParam(name="terminalSn",value="設備Sn號",paramType = "query",required=true),
})
public TerminalSet getListByStoreIdAndVersionAndSn(@RequestParam Long storeId, @RequestParam Integer versionType,@RequestParam String terminalSn){
return terminalSetService.getListByStoreIdAndVersionAndSn(storeId,versionType,terminalSn);
}



修改之后:
@ApiOperation(value="根據分店編號和版本類型,設備Sn號獲取注冊信息,用於設備加載時認證")
@RequestMapping(path="/getByStoreAndTypeAndSn", method=RequestMethod.GET )
@ApiImplicitParams({
@ApiImplicitParam(name="storeId",value="部門編號",paramType = "query",required=false),
 @ApiImplicitParam(name="versionType",value="版本類型(0-總店版 1-門店版 2-收銀台版)",allowableValues="0,1,2",paramType = "query",required=true),
@ApiImplicitParam(name="terminalSn",value="設備Sn號",paramType = "query",required=true),
})
public TerminalSet getListByStoreIdAndVersionAndSn( Long storeId, Integer versionType, String terminalSn){
return terminalSetService.getListByStoreIdAndVersionAndSn(storeId,versionType,terminalSn);
}

總結:
設置非必傳參數時,不能用
/getByStoreAndTypeAndSn/{storeId}/{versionType}/{terminalSn} 這種方式傳參
當使用 @ApiImplicitParams注解時已經設置了參數的的基礎信息,就無須再使用 @RequestParam注解
如果未使用@ApiImplicitParams注解時,用 @RequestParam注解來設置需要傳入的參數,此時需要用 required 來設置是否為必傳參數,true為必傳,false為非必傳。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM