如何在Servicestack中获取其他服务的URL

时间:2015-08-25 12:14:32

标签: servicestack

我有一个响应类型,其中包含指向其他资源的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还是我必须手动构建它?

1 个答案:

答案 0 :(得分:2)

查看Reverse Routing上的文档。

您可以通过以下方式获取相对网址:

var relativeUrl = new FooRequest { SerialNumber = "1234" }.ToGetUrl();

或绝对网址:

var absouluteUrl = new FooRequest { SerialNumber = "1234" }. ToAbsoluteUri();