servicestack,Routing,servicestack" /> servicestack,Routing,servicestack" />

Routing Servicestack查询字符串

Routing Servicestack查询字符串,routing,servicestack,Routing,servicestack,我试图将集合查询字符串中的值链接到服务堆栈对象中的属性 下面的代码片段说明了我试图实现的目标。(我想将FN映射到SenderNumber,TN映射到ContactNumber等) [路由(“/smscallback?FN={SenderNumber}&TN={ContactNumber}&MS={Response}&TS={TS}”)] 公共类SmsCallback:IReturn { 公共字符串发送者编号 { 得到; 设置 } 公共字符串联系人号码 { 得到; 设置 } 公共字符串响应 { 得

我试图将集合查询字符串中的值链接到服务堆栈对象中的属性

下面的代码片段说明了我试图实现的目标。(我想将FN映射到SenderNumber,TN映射到ContactNumber等)

[路由(“/smscallback?FN={SenderNumber}&TN={ContactNumber}&MS={Response}&TS={TS}”)]
公共类SmsCallback:IReturn
{
公共字符串发送者编号
{
得到;
设置
}
公共字符串联系人号码
{
得到;
设置
}
公共字符串响应
{
得到;
设置
}
公共字符串TS
{
得到;
设置
}
}
有人知道怎么做吗?我已经查看了servicestack提供的示例,但是我很难将其应用到我的情况中

谢谢。

请重新阅读:

注意:QueryString、FormData和HTTP请求正文不属于 路由(即只有/path/info是),但它们都可以在中使用 添加到每个web服务调用以进一步填充请求 DTO

您不能在路由中放置任何查询字符串。如果要更改字段映射到的内容,则需要使用DataContract/DataMember属性修饰DTO,例如:

[DataContract]
public class SmsCallback : IReturn<SmsCallbackResponse>
{
    [DataMember(Name="fn")]
    public string SenderNumber { get; set; }

    [DataMember(Name="tn")]
    public string ContactNumber { get; set; }

    [DataMember(Name="ms")]
    public string Response { get; set; }

    [DataMember]
    public string TS { get; set; }
}
[DataContract]
公共类SmsCallback:IReturn
{
[数据成员(Name=“fn”)]
公共字符串SenderNumber{get;set;}
[数据成员(Name=“tn”)]
公共字符串ContactNumber{get;set;}
[数据成员(Name=“ms”)]
公共字符串响应{get;set;}
[数据成员]
公共字符串TS{get;set;}
}

感谢您的快速回复。我最后做的是保留[Route(“/smscallback”)],然后在实际发送的查询字符串中映射attribs,例如FN={SenderNumber}&TN={ContactNumber}。
[DataContract]
public class SmsCallback : IReturn<SmsCallbackResponse>
{
    [DataMember(Name="fn")]
    public string SenderNumber { get; set; }

    [DataMember(Name="tn")]
    public string ContactNumber { get; set; }

    [DataMember(Name="ms")]
    public string Response { get; set; }

    [DataMember]
    public string TS { get; set; }
}