网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Swagger在asp.netcore中的应用2

Swagger是一个把api和注释生成一个可视(或可访问)的输出工具,关且还可以进行手工测试我们的api,解决了程序不想写文档的问题(哈哈)。

创新互联主营襄城网站建设的网络公司,主营网站建设方案,app软件开发公司,襄城h5小程序定制开发搭建,襄城网站营销推广欢迎襄城等地区企业咨询

 

Swashbuckle.AspNetCore是用来解决asp.net core下的api文档,不但能称显UI,还可以在UI上进行测试。

如果在asp.net core中使用swagger,首先在nuget下安装Swashbuckle.AspNetCore,不过现在是预览版,一定要把“包括预发行版”打上勾。

Swagger 在asp.net core中的应用2

同时还要添加三个引用:

Swashbuckle.AspNetCore.SwaggerGen是生成Swagger文档的组件

Swashbuckle.AspNetCore.Swagger:是把Swagger文档生成Json Api的组件

Swashbuckle.AspNetCore.SwaggerUI,是把Json Api转成页面的组件

 

接下来设置项目属性,生成-Output节点的XML documentation file打上勾,用来保证能把action上的注释生成xml文档。

同时,Controller中的action都要加http特性,这样方例生成swagger文档时能找到准确的api,这点很重要

接下来,就要在Starup中去调置Swagger的使用了

public void ConfigureServices(IServiceCollection services)
 {           
     services.AddMvc();
     services.AddSwaggerGen(c =>
     {
         c.SwaggerDoc("v1", new Info
         {
             Title = "Swagger测试",
             Version = "v1",
             Description = "Swagger测试RESTful API ",
             TermsOfService = "None",
             Contact = new Contact
             {
                 Name = "桂素伟",
                 Email = "axzxs2001@163.com"
             },
         });
         //设置xml注释文档,注意名称一定要与项目名称相同
         var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "SwaggerDemo.xml");
         c.IncludeXmlComments(filePath);
         //处理复杂名称
         c.CustomSchemaIds((type) => type.FullName);
     });
 }
      
 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
     loggerFactory.AddConsole(Configuration.GetSection("Logging"));
     loggerFactory.AddDebug();
     app.UseMvc();
     app.UseSwagger(c =>
     {
         //设置json路径
         c.RouteTemplate = "docs/{documentName}/swagger.json";
     });
     app.UseSwaggerUI(c =>
     {
         //访问swagger UI的路由,如http://localhost:端口/docs
         c.RoutePrefix = "docs";
         c.SwaggerEndpoint("/docs/v1/swagger.json", "Swagger测试V1");
         //更改UI样式
         c.InjectStylesheet("/swagger-ui/custom.css");
         //引入UI变更js
         c.InjectOnCompleteJavaScript("/swagger-ui/custom.js");
     });
 }

关于更多的UseSwagger参数和UseSwaggerUI参数可参考

https://github.com/domaindrivendev/Swashbuckle.AspNetCore

 

设置中的custom.css和custom.js如下

custom.css

.logo__title {
 font-weight:bold;
 font-size:0.8em;
}
custom.js
var titles=document.getElementsByClassName("logo__title");
titles[0].innerHTML = "Swagger测试";

关于美化UI可以运行,查看具体的html Elements,然后去写css或js

Swagger 在asp.net core中的应用2

代码参考:https://github.com/axzxs2001/Asp.NetCoreExperiment


分享题目:Swagger在asp.netcore中的应用2
标题来源:http://bjjierui.cn/article/jdpihi.html

其他资讯