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 が完全に適切であると確信しています。