asp.net mvc web api 帮助页面未填充给定路由
asp.net mvc web api help page not populating for given route
我在为 Web api 控制器填充帮助页面时遇到困难。控制器中唯一的方法如下:
public HttpResponseMessage Get(string p1,string p2= "blend", string p3 = "blend")
该方法出现在带有签名的帮助页面中:
GET api/mycontroller?p1={p1}&p2={p2}&p3={p3}
但是 none 我的评论流向了帮助页面。对于其他简单的控制器 Get(string id)
帮助页面工作正常。
我尝试在 WebApiConfig.cs
上添加以下内容
config.Routes.MapHttpRoute(
姓名:"mycontroller",
路线模板:"api/mycontroller/{p1}/{p2}/{p3}",
默认值:新
{
p1 = RouteParameter.Optional,
p2 = RouteParameter.Optional,
p3 = RouteParameter.Optional<br>
}
);
但是帮助页面仍然没有填充为摘要、参数描述或 return 编写的注释。
我不会尝试在设置中使用基于约定的路由来解决这个问题,而是使用 attribute routing.
首先在 WebApiConfig.cs
中启用它
config.MapHttpAttributeRoutes();
然后在controller中的方法decore 路由
[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
我在为 Web api 控制器填充帮助页面时遇到困难。控制器中唯一的方法如下:
public HttpResponseMessage Get(string p1,string p2= "blend", string p3 = "blend")
该方法出现在带有签名的帮助页面中:
GET api/mycontroller?p1={p1}&p2={p2}&p3={p3}
但是 none 我的评论流向了帮助页面。对于其他简单的控制器 Get(string id)
帮助页面工作正常。
我尝试在 WebApiConfig.cs
上添加以下内容config.Routes.MapHttpRoute(
姓名:"mycontroller",
路线模板:"api/mycontroller/{p1}/{p2}/{p3}",
默认值:新
{
p1 = RouteParameter.Optional,
p2 = RouteParameter.Optional,
p3 = RouteParameter.Optional<br>
}
);
但是帮助页面仍然没有填充为摘要、参数描述或 return 编写的注释。
我不会尝试在设置中使用基于约定的路由来解决这个问题,而是使用 attribute routing.
首先在 WebApiConfig.cs
中启用它config.MapHttpAttributeRoutes();
然后在controller中的方法decore 路由
[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