[英]Web API 2 default routing scheme
我突然想到了這個問題。
在Startup.cs
我有:
HttpConfiguration config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
app.UseWebApi(config);
當我有一個這樣的方法:
[RoutePrefix("api/Order")]
public class OrderController : ApiController
{
// don't use any attribute here
public IHttpActionResult HelloWorld()
{
...
return Ok();
}
}
HelloWorld()
嗎? GET
還是POST
或任何其他動作? 您可以訪問到HttpWorld()
使用GET如果重命名方法GetHelloWorld()
POST重命名為PostHelloWorld()
。
但是我更喜歡使用[HttpGet]
, [HttpPost]
,...屬性,即使我的操作方法名稱中具有“ Get”或“ Post”字符,也可以避免可能的錯誤。
更新
經過一些測試,我意識到關於此的無法調用HelloWorld的評論是不正確的。 的確,如果您對http://<YourProjectUrl>/order
進行POST調用,則可以調用HelloWorld()方法。
因此,默認方法為POST,並且由於您尚未為操作方法配置任何Route(考慮到RoutePrefix只是一個前綴,因此需要考慮Route屬性),它將獲得您的控制器名稱,而無需“控制器”(OrderController->訂單)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.