swagger 的 pathmapping 配置的理解


1. 首選看源碼注釋:
/* Extensibility mechanism to add a servlet path mapping, if there is one, to the apis base path. 擴展性機制,用於將servlet路徑映射(如果有)添加到API基本路徑。
**/

public Docket pathMapping(String path) { this.pathMapping = ofNullable(path);
return this;
}

2.我的理解:
  2.1 它是一個附加虛擬路徑,並沒有映射產生對應到上@RequestMapping里面的路徑。 所以你后端跑,配置上pathMapping用的話會報404.
  2.2 它會作用到生成swagger-doc里的api路徑拼接 http://host:port/pathmapping/apiurl。
  2.3 在前后端分離架構上, swagger使用iframe方式嵌套,生成的地址都是前端暴露的地址端口,后端請求轉發都需要拼接關鍵字 “dev-api”
    來標記區別是請求nginx靜態資源,然后由proxy判斷 關鍵字轉發到后端接口, proxy會rewrite到后端地址+端口時,通常會去掉關鍵字“dev-api”.所以swagger生成的docs
    如果在此環境下需要配置上pathMapping 讓它生成的文檔地址里帶上 關鍵字。這樣swagger的api也是通過前端端口轉發訪問到后端了。
  2.4 假如要后端直接訪問,那么要去掉 pathMapping. 這個就是經常遇到的問題key.
  
  

  


免責聲明!

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



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