我正在使用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」)]' –