0

ASP.NET MVC 4 Web サイトでは、Web API を使用して、許可されたアクション (DELETE など) のリンクを含む JSON 形式のリソースを返しています。これらのリンクを作成するには、HttpRequestMessage で GetUrlHelper() 拡張メソッドを使用しています...

_httpRequest.GetUrlHelper().Link( routeName, routeValues );

私の懸念は、 Link() から返される文字列が完全修飾 URL ( を含むhttps://example.com/...) であるということです。必要なのは相対 URL ( のみ) だけ/my/resourceです。現在、実稼働環境が https であるべきところに http を追加しているというサーバーの問題があり、これは機能しません。これは個別に修正できますが、相対 URL を指定するだけでよいのでしょうか? もしそうなら、UrlHelper.Link() で生成された URL のルート部分を切り取るよりも、相対 URL を取得する良い方法はありますか?

編集: Richardson と Ruby の価値あるRESTful Web Servicesを参照した後、ここでは相対 URL が完全に適切であると確信しています。

4

1 に答える 1

0

オンウリはPathAndQuery役に立ちますか?

例: (new Uri(_httpRequest.GetUrlHelper().Link("DefaultApi", new { controller = "Values", p1="abc" }))).PathAndQuery...これは次のようになります/my/resource?p1=abc

于 2013-06-07T02:15:47.587 に答える