[英]c# webapi - The requested resource does not support http method 'GET'
我有兩種簡單的路由方法:
[RoutePrefix("api/accounts")]
[Route("user/{id:guid}", Name = "GetUserById")]
public async Task<IHttpActionResult> GetUser(string Id)
[Route("user/del/{id:guid}")]
public async Task<IHttpActionResult> DeleteUser(string id)
我想知道為什么我要用直接ulr(GET)測試第一種方法是否有效:
http://localhost/ReportApp_WebApi/api/accounts/user/1533882b-e1fd-4b52-aeed-4799edbbcda6
如果我嘗試第二個鏈接,只是有些不同:
http://localhost/ReportApp_WebApi/api/accounts/user/del/1533882b-e1fd-4b52-aeed-4799edbbcda6
我得到: 請求的資源不支持http方法'GET'。
你能幫助我嗎?
第二個鏈接不僅有所不同。 實際上,它指向您為delete方法定義的路由。 此方法需要DELETE Http動詞。
當您直接在瀏覽器中寫入url時,它將執行GET請求。 如果要讓delete方法與GET動詞配合使用,則必須添加屬性
[HttpGet]
在您的路線屬性之前或之后。 雖然我不建議這樣做 。 您可以使用Fiddler或Postman之類的HTTP客戶端進行測試
Web Api在控制器中命名方法時使用約定。 因為您將方法命名為DeleteUser,所以Web Api希望使用Delete動詞。
編輯>>>,請遵循注釋中列出的建議。 我也將不推薦的部分加粗
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.