我正在尝试将设置查询字符串中的值链接到服务堆栈对象中的属性。
以下代码段说明了我要实现的目标。 (我想将FN映射到SenderNumber,TN映射到ContactNumber等。)
[Route("/smscallback?FN={SenderNumber}&TN={ContactNumber}&MS={Response}&TS={TS}")]
public class SmsCallback : IReturn<SmsCallbackResponse>
{
public string SenderNumber
{
get;
set;
}
public string ContactNumber
{
get;
set;
}
public string Response
{
get;
set;
}
public string TS
{
get;
set;
}
}
有谁知道怎么做?我查看了routing示例servicestack提供的内容,但我无法将其应用于我的情况。
谢谢。
答案 0 :(得分:6)
请重新阅读Routing wiki page:
注意:QueryString,FormData和HTTP Request Body不是分开的 路线(即只有/路径/信息),但它们都可以用于 除了每个Web服务调用以进一步填充请求 DTO。
您不能在路线中放置任何queryString 。如果要更改字段映射到的字段,则需要使用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; }
}