swagger實戰踩坑1


1.swagger error 有詳細的錯誤信息

  • 自己根據詳細信息找問題

 

2.swagger error 無詳細的錯誤信息

  • Controller是否重名=》重名,指定不同的   [Route("*****")]
  • Controller必須制定   [HttpPost]  或者   [HttpGet]

 

 

3.swagger無注釋

  • 引用項目,依次執行如下操作
    • 項目=》屬性=》生成:輸出:XML文檔文件,指定至固定目錄
  • webapi項目,添加鏈接文件(上一步的xml文件)
  • 鏈接文件,依次執行如下操作
    • 屬性=》生成=》始終復制
  • Startup.cs中的 ConfigureServices(IServiceCollection services)中,添加如下代碼:
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info { Title = "Platform.Service.Enterprise.WebApi API", Version = "v1.0.0.0" });
                c.DescribeAllEnumsAsStrings();
                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                var docPath = Path.Combine(basePath, "Docs");
                var docs = XMLUtil.CreateXPathDocumentsFromDirectory(docPath);
                docs.ForEach(xp => c.IncludeXmlComments(() => { return xp; }));
            });
  • Startup.cs中的 Configure(IApplicationBuilder app, IHostingEnvironment env)中,添加如下代碼:
           app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "Platform Enterprise WebApi API");
            });
  • 重新生成解決方案

 


免責聲明!

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



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