我在我的一个Web API中遵循RPC方法,为此我将在我的控制器中使用属性路由。
我通过制作partial
来分割我的控制器:
JDE文件夹下的所有部分文件必须具有相同的RoutePrefix,并且操作将使该URL唯一。
namespace Enterprise.Api.Controllers.JDE.Distribution
{
[RoutePrefix("/api/jde/distribution")]
public partial class JDEController : ApiController
{
}
}
我希望每个部分文件都有自己的路由前缀,并且每个操作都有一条路径。
如果我将RoutePrefix
放在多个文件中,我会收到错误。
答案 0 :(得分:2)
类的部分文件仍被视为一个单独的类,因此您不能使用多个路由前缀属性...考虑为您的方案创建多个控制器类型...
答案 1 :(得分:0)
所以我做的是:
首先,我将这一次添加到我的部分APi控制器:
[RoutePrefix("api/jde")]
public partial class JDEController : ApiController
{
public JDEController()
{
}
}
然后我在我的方法中添加一个Route属性来获得我想要的东西
public partial class JDEController : ApiController
{
[Route("orders")]
public IEnumerable<Order> Get(int customerId) { ... }
}