3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
對(duì)您的問題更好的解決方案是使用Route
,它允許您通過注釋指定方法的路徑:
[RoutePrefix("api/VTRouting")]public class VTRoutingController : ApiController{ [HttpPost] [Route("Route")] public MyResult Route(MyRequestTemplate routingRequestTemplate) { return null; } [HttpPost] [Route("TSPRoute")] public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate) { return null; }}

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
它不再是RESTful方法,但您現(xiàn)在可以通過名稱調(diào)用您的操作(而不是讓W(xué)eb API根據(jù)動(dòng)詞自動(dòng)為您確定一個(gè)),如下所示:
[POST] /api/VTRouting/TSPRoute
[POST] /api/VTRouting/Route
與流行的看法相反,這種方法沒有任何問題,也沒有濫用Web API。您仍然可以利用Web API的所有強(qiáng)大功能(委派處理程序,內(nèi)容協(xié)商,mediatype格式等) - 您只是放棄了RESTful方法。
- 3 回答
- 0 關(guān)注
- 1313 瀏覽
添加回答
舉報(bào)