十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天小編給大家分享一下Swagger怎么使用的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有新絳免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Swagger可以很方便的為發(fā)布的WebApi自動生成優(yōu)雅的文檔,不需額外自己編寫,只需為項目配置好,是一個很好用的工具。
1、使用HuGet導(dǎo)入Swashbuckle包
2、修改SwaggerConfig.cs
導(dǎo)入Swashbuckle后會自動在站點的App_Start文件夾下生成SwaggerConfig.cs,用于配置Swagger頁面。配置的東西很多,下面只列舉我個人需要的簡單的配置(因為其他沒研究)。
1publicclassSwaggerConfig
2{
3publicstaticvoidRegister()
4{
5varthisAssembly=typeof(SwaggerConfig).Assembly;
6
7GlobalConfiguration.Configuration
8.EnableSwagger(c=>
9{
10c.SingleApiVersion("v1","MyWebApi").Contact(x=>
11{
12x.Name("Bobbie");//配置界面頭部描述
13});
14
15c.IncludeXmlComments(GetXmlCommentsPath("/bin/WarRoom.WebApi.XML"));//配置模板XML路徑
16
17})
18.EnableSwaggerUi(c=>
19{
c.InjectJavaScript(Assembly.GetExecutingAssembly(),"MyWebApi.Scripts.Swagger_CN.js");//配置漢化js文件
20});
21}
22
23privatestaticstringGetXmlCommentsPath(stringXmlPath)
24{
25return$@"{System.AppDomain.CurrentDomain.BaseDirectory}"+XmlPath;
26}
27}
3、配置項目屬性
主要是設(shè)置“生成”下的幾個配置,就是我畫紅框框的,下面解釋一下幾個配置的作用:
(1)禁止警告1591是屬于禁止缺少注釋的警告的,不然沒有頭部注釋的類、函數(shù)都會有警告的下劃線,看著不舒服(但該警告不影響使用)。
(2)勾選XML文檔文件,會自動生成一個路徑,這個路徑要于SwaggerConfig.cs中配置的一致:
c.IncludeXmlComments(GetXmlCommentsPath("/bin/WarRoom.WebApi.XML"));
由此其實已經(jīng)配置完成,下面進(jìn)行測試:
4、測試
新建一個Controller,文件名為DemoController.cs:
1publicclassDemoController:ApiController
2{
3///
4///我就是PostTest方法
5///
6///
7///
8[HttpGet]
9publicstringPostTest(stringname)
10{
11stringresult="Hello"+name;
12returnresult;
13}
然后運(yùn)行,訪問localhost:27827/Swagger(網(wǎng)址端口看自己的項目),可以看到如下界面就是成功了:
頁面會將接口路徑、接口函數(shù)、注釋、參數(shù)等基本信息都自動生成,還提供接口測試功能(單擊TryitOut),可以測試接口(可直接輸入?yún)?shù))。
5、漢化
有些朋友喜歡中文,這邊也測試一下漢化的功能,主要就是添加一個漢化功能的JS文件,并在SwaggerConfig.cs配置導(dǎo)入即可:
(1)新建名為Swagger_CN.js的文件,放在Scripts文件夾下:
1'usestrict';
2/**
3*Translatorfordocumentationpages.
4*
5*Toenabletranslationyoushouldincludeoneoflanguage-filesinyourindex.html
6*after.
7*Forexample-
8*
9*Ifyouwishtotranslatesomenewtexstsyoushoulddotwothings:
10*1.Addanewphrasepair("NewPhrase":"NewTranslation")intoyourlanguagefile(forexamplelang/ru.js).Itwillbegreatifyouadditinotherlanguagefilestoo.
11*2.Markthattextittemplatesthisway
12*Themainthinghereisattributedata-sw-translate.Onlyinnerhtml,title-attributeandvalue-attributearegoingtotranslate.
13*
14*/
15window.SwaggerTranslator={
16_words:[],
17translate:function(){
18var$this=this;
19$('[data-sw-translate]').each(function(){
20$(this).html($this._tryTranslate($(this).html()));
21$(this).val($this._tryTranslate($(this).val()));
22$(this).attr('title',$this._tryTranslate($(this).attr('title')));
23});
24},
25_tryTranslate:function(word){
26returnthis._words[$.trim(word)]!==undefined?this._words[$.trim(word)]:word;
27},
28learn:function(wordsMap){
29this._words=wordsMap;
30}
31};
32/*jshintquotmark:double*/
33window.SwaggerTranslator.learn({
34"Warning:Deprecated":"警告:已過時",
35"ImplementationNotes":"實現(xiàn)備注",
36"ResponseClass":"響應(yīng)類",
37"Status":"狀態(tài)",
38"Parameters":"參數(shù)",
39"Parameter":"參數(shù)",
40"Value":"值",
41"Description":"描述",
42"ParameterType":"參數(shù)類型",
43"DataType":"數(shù)據(jù)類型",
44"ResponseMessages":"響應(yīng)消息",
45"HTTPStatusCode":"HTTP狀態(tài)碼",
46"Reason":"原因",
47"ResponseModel":"響應(yīng)模型",
48"RequestURL":"請求URL",
49"ResponseBody":"響應(yīng)體",
50"ResponseCode":"響應(yīng)碼",
51"ResponseHeaders":"響應(yīng)頭",
52"HideResponse":"隱藏響應(yīng)",
53"Headers":"頭",
54"Tryitout!":"試一下!",
55"Show/Hide":"顯示/隱藏",
56"ListOperations":"顯示操作",
57"ExpandOperations":"展開操作",
58"Raw":"原始",
59"can'tparseJSON.Rawresult":"無法解析JSON.原始結(jié)果",
60"ModelSchema":"模型架構(gòu)",
61"Model":"模型",
62"apply":"應(yīng)用",
63"Username":"用戶名",
64"Password":"密碼",
65"Termsofservice":"服務(wù)條款",
66"Createdby":"創(chuàng)建者",
67"Seemoreat":"查看更多:",
68"Contactthedeveloper":"聯(lián)系開發(fā)者",
69"apiversion":"api版本",
70"ResponseContentType":"響應(yīng)內(nèi)容類型",
71"fetchingresource":"正在獲取資源",
72"fetchingresourcelist":"正在獲取資源列表",
73"Explore":"瀏覽",
74"ShowSwaggerPetstoreExampleApis":"顯示SwaggerPetstore示例Apis",
75"Can'treadfromserver.Itmaynothavetheappropriateaccess-control-originsettings.":"無法從 注:MyWebApi.Scripts.Swagger_CN.js格式為:項目名.文件夾名.JS文件名 這個可以看上面的SwaggerConfig.cs文件配置。然后再次運(yùn)行 以上就是“Swagger怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前題目:Swagger怎么使用
文章鏈接:http://m.jiaotiyi.com/article/pedgoe.html