今天小編給大家分享一下Swagger怎么使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有新絳免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Swagger可以很方便的為發(fā)布的WebApi自動(dòng)生成優(yōu)雅的文檔,不需額外自己編寫(xiě),只需為項(xiàng)目配置好,是一個(gè)很好用的工具。
1、使用HuGet導(dǎo)入Swashbuckle包
2、修改SwaggerConfig.cs
導(dǎo)入Swashbuckle后會(huì)自動(dòng)在站點(diǎn)的App_Start文件夾下生成SwaggerConfig.cs,用于配置Swagger頁(yè)面。配置的東西很多,下面只列舉我個(gè)人需要的簡(jiǎn)單的配置(因?yàn)槠渌麤](méi)研究)。
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"));//配置模板X(qián)ML路徑
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、配置項(xiàng)目屬性
主要是設(shè)置“生成”下的幾個(gè)配置,就是我畫(huà)紅框框的,下面解釋一下幾個(gè)配置的作用:
(1)禁止警告1591是屬于禁止缺少注釋的警告的,不然沒(méi)有頭部注釋的類、函數(shù)都會(huì)有警告的下劃線,看著不舒服(但該警告不影響使用)。
(2)勾選XML文檔文件,會(huì)自動(dòng)生成一個(gè)路徑,這個(gè)路徑要于SwaggerConfig.cs中配置的一致:
c.IncludeXmlComments(GetXmlCommentsPath("/bin/WarRoom.WebApi.XML"));
由此其實(shí)已經(jīng)配置完成,下面進(jìn)行測(cè)試:
4、測(cè)試
新建一個(gè)Controller,文件名為DemoController.cs:
1publicclassDemoController:ApiController
2{
3///
4///我就是PostTest方法
5///
6///
7///
8[HttpGet]
9publicstringPostTest(stringname)
10{
11stringresult="Hello"+name;
12returnresult;
13}
然后運(yùn)行,訪問(wèn)localhost:27827/Swagger(網(wǎng)址端口看自己的項(xiàng)目),可以看到如下界面就是成功了:
頁(yè)面會(huì)將接口路徑、接口函數(shù)、注釋、參數(shù)等基本信息都自動(dòng)生成,還提供接口測(cè)試功能(單擊TryitOut),可以測(cè)試接口(可直接輸入?yún)?shù))。
5、漢化
有些朋友喜歡中文,這邊也測(cè)試一下漢化的功能,主要就是添加一個(gè)漢化功能的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":"警告:已過(guò)時(shí)",
35"ImplementationNotes":"實(shí)現(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":"請(qǐng)求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":"展開(kāi)操作",
58"Raw":"原始",
59"can'tparseJSON.Rawresult":"無(wú)法解析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)系開(kāi)發(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.":"無(wú)法從 注:MyWebApi.Scripts.Swagger_CN.js格式為:項(xiàng)目名.文件夾名.JS文件名 這個(gè)可以看上面的SwaggerConfig.cs文件配置。然后再次運(yùn)行 以上就是“Swagger怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:Swagger怎么使用
鏈接地址:http://weahome.cn/article/pedgoe.html