我正在使用asp.net核心创建web api。该API终点逻辑映射到资源的关系基于guidelines here 所以我的API看起来路由不适用于网页api与实现
http://tax.mydomain.com/api/v1/clients/1/batches/12/start
凡Client
是Batch
父,1
是的clientid和12
是batchid和Start
是POST操作方法。
这里是相应的控制器
public class TaxController : Controller
{
[HttpPost]
[Route("clients/{clientid}/batches/{batchid}/start")]
public void Start([FromRoute]string clientId, [FromRoute]string batchId,
[FromBody]IEnumerable<string> urls)
{
// do something
}
}
因为api/v1
是共同的所有控制器我配置,在启动时的Configure
方法。另外我想Home
作为默认控制器。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseMvc(routes =>
{
routes.MapRoute("default","api/v1/{controller=Home}/{action=Index}/{id?}");
});
}
但是客户也越来越没有发现错误API http://tax.mydomain.com/api/v1/clients/1/batches/12/start
打开'[路线( “客户端/ {的clientid} /批次/ {batchid} /启动”)]'入'[ Route(“api/v1/clients/{clientid}/batch/{batchid}/start”)]' –