有兴趣的可以看一下ApiExplorer.cs源码,使用GlobalConfiguration.Configuration.Services.GetApiExplorer().ApiDescriptions 即可查看所有Api接口地址相关信息,Swagger正是借助于该方法导出所有接口信息,在结合xml文档添加相应注释文成接口描述文档的。
public class CustomApiExplorer : ApiExplorer { public CustomApiExplorer(HttpConfiguration configuration) : base(configuration) { } ShouldExploreAction(string actionVariableValue, HttpActionDescriptor actionDescriptor, IHttpRoute route) { return base.ShouldExploreAction(actionVariableValue, actionDescriptor, route); } ShouldExploreController(string controllerVariableValue, HttpControllerDescriptor controllerDescriptor, IHttpRoute route) { return base.ShouldExploreController(controllerVariableValue, controllerDescriptor, route); } }
GlobalConfiguration.Configuration.Services.Replace(typeof(IApiExplorer), new CustomApiExplorer(GlobalConfiguration.Configuration));
接口有特有业务的可以考虑自定义ApiExplorer进行实现,或者在CachingSwaggerProvider中GetSwagge中进行实现。
总结有了这么方便的接口描述文档和接口测试工具,让前后端分离开发更加便于沟通和落地了,测试也可以不依赖于界面单独测试接口,有需要的可以使用起来。本篇所使用示例代码下载地址:SwaggerDemo,参考资源:
Swashbuckle:https://github.com/domaindrivendev/Swashbuckle
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下绿。色通道的。
如果,想给予我更多的鼓励,求打
因为,我的写作热情也离不开您的肯定支持。
感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是焰尾迭 。