专业的编程技术博客社区

网站首页 > 博客文章 正文

终于找到Swagger 适配不同版本asp.net webapi 的路由方法了

baijin 2024-09-15 14:40:18 博客文章 7 ℃ 0 评论

swagger 的配置方法,网上已经一大堆了,但是都是以最新版的System.WebHttp 5.x.x 以上为基础。但是线上版本,又不能立即升级。经过尝试,修改路由配置,即可在swagger内获得web api文档了。

当 System.Web.Http 为4.0,web api 为1的时候,在RouteConfig文件内注册如下的api 路由,保证webapi能注册上

routes.MapHttpRoute(

name: "API Default",

routeTemplate: "api/{controller}/{id}",

defaults: new { id = RouteParameter.Optional }

);

当system.Web.Http 为更高版本,web api 为2 的时候,可以生成一个文件 如下,

public static class WebApiConfig

{

public static void Register(HttpConfiguration config)

{

config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{id}",

defaults: new { id = RouteParameter.Optional }

);

}

然后再在 global内将这个配置注册进去

GlobalConfiguration.Configure(WebApiConfig.Register);

即可在http://localhost:8026/swagger/ui/index 地址内看到自己的api了!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表