Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:

  • Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
  • Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
  • Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
  • Swagger 有一个强大的社区,里面有许多强悍的贡献者。

反正就是很6,很棒棒,我平常接口开发都会用到Swagger,感觉挺方便,不用怎么写文档就可以快速的和前端完成对接(我在实际开发和联调的时候还会配合用到Postman和fiddler等接口调试工具,都很好用,在这里推荐一下,用法我就不做解释了 )

但是今天在.net core环境先配置swagger的时候遇到了一个小坑,配置网上有很多资料,

可以参考 https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.1

第一步、

Nuget Packages安装,使用程序包管理器控制台,安装命令:Install-Package Swashbuckle.AspNetCore -Pre

第二步、

在Startup 文件中添加配置:

public void ConfigureServices(IServiceCollection services)
{// Add framework services.
services.AddMvc()
.AddJsonOptions(options => options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver());//JSON首字母小写解决 services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "MsSystem API"
}); //Determine base path for the application.
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
//Set the comments path for the swagger json and ui.
var xmlPath = Path.Combine(basePath, "MsSystem.API.xml");
options.IncludeXmlComments(xmlPath);
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug(); if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
} //app.UseStaticFiles(); app.UseMvc(); //app.UseMvc(routes =>
//{
// routes.MapRoute(
// name: "default",
// template: "api/{controller}/{action}",
// defaults: new { controller = "Home", action = "Index" });
//}); app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MsSystem API V1");
});
}

然后直接访问地址 http://localhost:端口号/swagger/,但是发现报错了

这里我们还需要配置一下生成的输出目录

右键项目》属性》生成 ,看到如下界面,勾选xml文档文件,然后按如下图输入配置,此处的MsSystem.API.xml即为上面代码中名字

然后大功告成,F5运行如图

最新文章

  1. springmvc4环境简单搭建和定时任务
  2. iOS开发UI篇—popoverController使用注意
  3. 编写高质量JS代码的68个有效方法(十三)
  4. 专题实验 PGA
  5. urllib.error.HTTPError: HTTP Error 403: Forbidden
  6. Linux文件系统Ext2,Ext3,Ext4性能大比拼
  7. VC中Source Files, Header Files, Resource Files,External Dependencies的区别
  8. mysql函数操作(4)
  9. 研读asp.net排课功能实现学习笔记
  10. 《Hadoop》对于高级编程Hadoop实现构建企业级安全解决方案
  11. H5 - 在线编辑制作
  12. HDU1874 最短路 SPFA
  13. js中判断输入框是否为空(判断是一串空的字符串)
  14. 转 [ javascript面向对象技术
  15. 201521123012 《Java程序设计》第九周学习总结
  16. 结合JDK源码看设计模式——观察者模式
  17. Nginx负载均衡后端健康检查
  18. January 15th, 2018 Week 03rd Monday
  19. Android 7.0下,拍摄照片报错
  20. eclipse maven构建的java web工程项目 在修改了工程项目名时,tomcat启动异常java.lang.IllegalArgumentException: Can't convert argument:null

热门文章

  1. 将AJAX Post的Data转为对应的Class
  2. cordova打包APK,报错:Cannot evaluate module CordovaLib : Configuration with name 'debug' not found.
  3. iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么
  4. springboot +element-axios跨域请求
  5. 彻底弄懂HTTP缓存机制及原理(转载)
  6. Recommend ways to overwrite hashCode() in java
  7. Spark of work
  8. 悟空模式-java-抽象工厂模式
  9. ASP.NET MVC传递Model到视图的多种方式总结(一)__通用方式的使用
  10. java网络编程(UDP详解)