我在WCF中创建了一个REST GetTime服务,该服务返回JSON作为响应消息。此外,WebMessageBodyStyle被设置为包装,因此它将具有与其返回的数据相关联的ID。但是当我使用Fiddler来测试我的服务时,响应字符串是:
{"GetTimeResult":"2010614104013"}
由于字符串ID以上的响应是GetTimeResult,我想知道是否有任何方法可以将测试位更改为时间戳。所以它看起来像这样:
{"timestamp":"2010614104013"}
干杯。
答案 0 :(得分:0)
如果您在代码中使用DataContract / DataMember属性,则添加名称(以及一些其他命名参数)。
[DataMember(Name = "timestamp")]
public string GetTimeResult
答案 1 :(得分:0)
正如this文章中指出的,假设您没有在数据协定中显式使用数据成员,而是想将时间戳记作为响应的简单字符串返回。只需将注释[return: MessageParameter(Name = "timestamp")]
与您的操作合同方法一起使用:
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/timestamps", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
[return: MessageParameter(Name = "timestamp")]
string GetStringTimestamp();