平南网,包青天新版,关凯元
是一款自动生成在线接口文档+功能测试功能软件
通过管理 nuget 程序包安装,搜索swashbuckle.aspnetcore
将 swagger 添加到 startup.configureservices 方法中的服务集合中:
//注入swagger服务 services.addswaggergen(c => { c.swaggerdoc("v1", new info { title = "my api", version = "v1" }); });
在 startup.configure
方法中,启用中间件为生成的 json 文档和 swagger ui 提供服务
//启用swagger服务 app.useswagger(); app.useswaggerui(c => { c.swaggerendpoint("/swagger/v1/swagger.json", "my api v1"); c.defaultmodelsexpanddepth(-1); //设置为 - 1 可不显示models c.docexpansion(docexpansion.none); //设置为none可折叠所有方法 });
运行项目,可在 http://www.lhsxpumps.com/_localhost:<port>/swagger
浏览 api文档,如下所示:
如果想把swagger作为启动页面,可修改launchsettings.json,把 launchurl设置为 swagger:
"iis express": { "commandname": "iisexpress", "launchbrowser": true, //是否在浏览器中启动 "launchurl": "swagger", //在浏览器中启动的相对url "environmentvariables": { //将环境变量设置为键/值对 "aspnetcore_environment": "development" }
所有的controller 的方法都是可以在 ui 上面进行测试。点击方法可以展开对应的区域,点击【try it out】→ 【输入参数】→ 点击【execute】。
修改addswaggergen 方法,用来添加文档信息。例如:作者,版权,描述。
services.addswaggergen(option => { option.swaggerdoc("v1", new info { version = "v1", title = "在线接口文档", description = "一个简单的例子", contact = new contact { name = "tenghao", email = "tenghao510@qq.com" }, license = new license { name = "博客地址", url = "https://www.cnblogs.com/tenghao510/" } }); });
下图展示了 swagger ui 显示添加的版本信息。
【右键项目】→【属性】→ 【生成】→ 【勾选xml 文档文件】注意自己的路径
修改addswaggergen 方法。
备注:includexmlcomments方法中的includecontrollerxmlcomments参数控制是否显示控制器注释,默认是false。
services.addswaggergen(c => { c.swaggerdoc("v1", new info { version = "v1", title = "在线接口文档", description = "一个简单的例子", contact = new contact { name = "tenghao", email = "tenghao510@qq.com" }, license = new license { name = "tenghao", url = "https://www.cnblogs.com/tenghao510/" } }); // 为 swagger json and ui设置xml文档注释路径 var basepath = path.getdirectoryname(typeof(program).assembly.location);//获取应用程序所在目录 var xmlpath01 = path.combine(basepath, "netcorewebapi.xml"); c.includexmlcomments(xmlpath01, true); var xmlpath = path.combine(basepath, "netcorewebapi.model.xml"); c.includexmlcomments(xmlpath); });
运行项目,再看看效果:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
网友评论