【问题标题】:asp.net mvc web api help page not populating for given route没有为给定路由填充 asp.net mvc web api 帮助页面
【发布时间】:2018-02-10 13:33:40
【问题描述】:

我在为 Web api 控制器填充帮助页面时遇到了困难。控制器中唯一的方法如下:

public HttpResponseMessage Get(string p1,string p2= "blend", string p3 = "blend")

该方法出现在帮助页面中,并带有签名:

GET api/mycontroller?p1={p1}&p2={p2}&p3={p3}

但是,我的 cmets 都没有流到帮助页面。对于其他简单的控制器Get(string id),帮助页面可以正常工作。

我尝试在 WebApiConfig.cs 上添加以下内容

config.Routes.MapHttpRoute( name: "mycontroller", routeTemplate: "api/mycontroller/{p1}/{p2}/{p3}", defaults: new { p1 = RouteParameter.Optional, p2 = RouteParameter.Optional, p3 = RouteParameter.Optional
} );

但帮助页面仍然没有填充为摘要、参数描述或返回而编写的 cmets。

【问题讨论】:

    标签: c# asp.net-web-api asp.net-web-api2 asp.net-web-api-routing asp.net-web-api-helppages


    【解决方案1】:

    我不会尝试在设置中使用基于约定的路由来解决这个问题,而是使用attribute routing

    首先在WebApiConfig.cs中启用

    config.MapHttpAttributeRoutes();
    

    然后用路由装饰控制器中的方法

    [HttpGet]
    [Route("api/mycontroller")]
    public HttpResponseMessage Get1(string p1, string p2= "blend", string p3 = "blend")
    //Call this api/mycontroller?p1=valueOne&p2=valueTwo&p3=valueThree
    
    [HttpGet]
    [Route("api/mycontroller/{p1}/p2/p3")]
    public HttpResponseMessage Get2(string p1,string p2= "blend", string p3 = "blend")
    //Call this api/mycontroller/valueOne/valueTwo/valueThree
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 2011-01-31
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多