簡體   English   中英

WebApi2-Url編碼的uri作為uri段/控制器操作參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM