2017-04-16 103 views
1

這是我的理解:什麼是揚鞭,Swashbuckle和Swashbuckle UI

  • 揚鞭是一個符號/規則來寫文檔。但爲什麼它被稱爲框架(如Angular/MVC)?
  • Swashbuckle是一個生成文檔(基於Swagger規則)的程序(JavaScript?)。
  • Swagger UI顯示文檔。它使用Swashbuckle來做到這一點。

此信息是否正確?如果不是,有人可以用簡單的術語來解釋Swagger,Swashbuckle和Swashbuckle UI是什麼意思?

另外,如果我不使用它,作爲API開發人員會失去什麼?

+1

你檢查了這些標籤上的標籤信息嗎?他們應該提供你正在尋找的描述。 – Filburt

+1

感謝幫助,仍然是這樣一種情況,其中的描述並沒有說明它的作用。例如:Swagger是一個框架。 Swashbuckle是一個框架。 '框架'非常寬泛的理解。我期待更實際的解釋 –

+0

閱讀其餘的描述,通過「框架」一詞,是的,他們會告訴你他們做了什麼。在swashbuckle的情況下,它說「它將Swagger和Swagger-ui添加到ASP.Net Web API項目中」。 – Amy

回答

2

Swagger是寫文檔的符號/規則。但爲什麼它被稱爲框架(像angular/MVC)?

它可能被稱爲「框架」,因爲它的目的是提供一種在OpenAPI規範下注釋任何RESTful服務接口的系統方法。這對開發人員來說是一件大事,因爲這個規範是由着名的Linux基金會的Open API Initiative監督的。

Swashbuckle是生成的文檔(基於揚鞭規則)

Swashbuckle更是一個包(或庫),你可以利用你的程序(JavaScript的?)。 NET Web API項目。正如您已經正確指出的那樣,目的是爲您的項目生成Swagger規範。另外,Swagger用戶界面包含在Swashbuckle中,所以如果你使用.NET開發API,它確實是一個很好的一站式商店。它幾乎全部用C#編寫,而不是JavaScript。

Swagger UI顯示文檔。它使用Swashbuckle來做到這一點。

是的,它確實以良好的人性化方式顯示了Swagger規範。不過,Swashbuckle並不是這方面的必要組件。除了我剛纔所說的外,它們完全相互排斥。

另外,如果我不使用它,我作爲一個API開發人員會怎麼樣?

這現在進入了意見的領域,但我會盡量客觀。我使用Swashbuckle來協助爲我的應用程序API創建客戶端。通過實施學習曲線(這並不多),這個軟件包爲我自己編寫客戶端節省了相當多的時間。編寫Web客戶端對於小型應用程序來說是微不足道的事情,但企業級應用程序有不斷增長和/或複雜性變化的趨勢,所以將這些客戶端的創建/更新完全自動化是非常好的。

簡而言之,如果您決定不使用它,您必須採用另一種API客戶端生成方法或自己寫/更新客戶端。如果您只是開發後端,這對您來說可能完全沒有意義,但它肯定會幫助負責創建將使用您的API服務的客戶端應用程序的人員。

我希望這些答案有幫助。乾杯!