ASP.NET Web API 属性路由:带有路由参数的 RoutePrefix
ASP.NET Web API Attribute Routing: RoutePrefix with Route Parameter
在 ASP.NET 中是否可以在包含路由参数的 ApiController 上使用 RoutePrefix 属性?
[RoutePrefix("api/parent/{pid}/child")]
public class ChildController : ApiController
{
[Route("")]
public HttpResponseMessage Get(object pid)
{
//...
}
[Route("{cid}"]
public HttpResponseMessage Get(object pid, object cid)
{
//...
}
}
我想让所有控制器方法都可以访问 pid 参数。
您不能使用 object
作为参数类型,因为 Web API 不知道如何将字符串转换为对象。您必须使用简单类型,例如 int
、string
、Guid
等。如果您想使用复杂类型,则必须使用 FromUri
属性或为它写一个自定义转换器。
有关 http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
的更多信息
在 ASP.NET 中是否可以在包含路由参数的 ApiController 上使用 RoutePrefix 属性?
[RoutePrefix("api/parent/{pid}/child")]
public class ChildController : ApiController
{
[Route("")]
public HttpResponseMessage Get(object pid)
{
//...
}
[Route("{cid}"]
public HttpResponseMessage Get(object pid, object cid)
{
//...
}
}
我想让所有控制器方法都可以访问 pid 参数。
您不能使用 object
作为参数类型,因为 Web API 不知道如何将字符串转换为对象。您必须使用简单类型,例如 int
、string
、Guid
等。如果您想使用复杂类型,则必须使用 FromUri
属性或为它写一个自定义转换器。
有关 http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
的更多信息