我有一个响应类型,其中包含指向其他资源的URL:
public class MyResponse
{
public string SerialNumber { get; set; }
public string Location { get; set; }
}
[Route("/bar/foo/{SerialNumber}", "GET")
public class FooRequest
{
public string SerialNumber {get; set;}
}
如果 MyService 返回 MyResponse DTO,则Location属性应包含“http://mybaseurl/bar/foo/1234”。 有没有办法,在代码中创建这个URl还是我必须手动构建它?
答案 0 :(得分:2)
查看Reverse Routing上的文档。
您可以通过以下方式获取相对网址:
var relativeUrl = new FooRequest { SerialNumber = "1234" }.ToGetUrl();
或绝对网址:
var absouluteUrl = new FooRequest { SerialNumber = "1234" }. ToAbsoluteUri();