簡體   English   中英

Swagger-node-express用法

[英]Swagger-node-express usage

我想分享一下我對https://github.com/swagger-api/swagger-node-express的看法

它在Github上有564顆星,所以我認為使用它是合理的,但是:

  • 為什么我應該使用像addGet / addPost這樣的方法,並通過HTTP方法拆分我的控制器
  • 我為什么要讓模型涉及路由?
  • 我可以使用驗證器進行身份驗證,但我必須選擇一些應該受到保護的路徑。 它復制邏輯 ,存儲在swagger json文件中。

是不是有一個靜態swagger.json並在其上構建Express路由的正確方法? 或者我可能不了解一些實踐

Swagger只是一個規范。 你可以手工制作一個沒有任何代碼的swagger規范,將規范提供給一個符合swigger-ui標准的頁面,並且它“可以工作”。 您可以使用完全定義的API並使用UI頁面“運行”它。 對於沒有招搖的快遞也是如此 - 你可以做很多整潔的事情! 但是需要付出一些努力才能以寬廣的方式記錄API。

如果要使用swagger-node-express,則需要將代碼與API文檔相結合。 這可以為您節省大量時間,並在同一個文件中保留更改等。但是,就像您提出的所有問題一樣,您必須以swagger-node-express方式執行操作。 比單獨做兩者更快,但必須遵循一些限制。

還有其他一些swagger包從不同角度解決這個問題。 我見過一些嘗試從Express / Restify路線自動構建swagger文檔。 swagger-node-express的另一種選擇是swagger-tools ,甚至包括驗證,但我猜你在某種程度上有限制寫Express而沒有任何swagger集成。

您可以手動(或使用某些YAML,jsDoc包或生成器)自由構建swagger文檔,但在寫入路由后需要一些額外的時間。 另外,它是一個單獨的地方來維護你的文檔,如果不是放棄的話,它們總會在某些時候不同步。 使用swagger-node-express主要是節省時間,即使有其缺點,也可能值得替代方案的額外開發工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM