在 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)
{
//...
}
}
我希望所有 Controller 方法都可以访问 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 的更多信息
关于c# - ASP.NET Web API 属性路由 : RoutePrefix with Route Parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520927/