[英]WebApi2 - UrlEncoded uri as uri segment / controller action parameter
我需要將uri作為路由參數傳遞給webapi操作方法:
http://some.url/api/controller/method/%2FforeignRoute%2F7e12cd15-d49d-4b16-9fe5-94b5f3ea3ecd%2Fhello%2Fworld%2FsomeResourceId
..將映射到屬性路由定義:
Route("api/controller/method/{theuri}")
..但最后一段總是被解碼,而asp.net/webapi返回404。
這似乎不應該成為問題,但是也許我在錯誤的樹上吠叫?
%2F
的URL編碼值為正斜杠/
,因此您的uri變為
http://some.url/api/controller/method//foreignRoute/7e12cd15-d49d-4b16-9fe5-94b5f3ea3ecd/hello/world/someResourceId
^^
雙斜杠在這里造成了問題。 它不可用,您會得到404。您應該將其更改為
Route("api/controller/method{theuri}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.