开发者

Changing JSON response root node message in WCF

I created a REST GetTime Service in WCF and the service returns JSON开发者_Go百科 as the response message. Also the WebMessageBodyStyle is set to wrapped so it would have an ID associated with that data it returns. But when I use Fiddler to test my service the response string is:

{"GetTimeResult":"2010614104013"}

As the response above the ID of the string is GetTimeResult, I'm wondering is there any way on changing that bit of test to timestamp. So it looks like this:

{"timestamp":"2010614104013"}

Cheers.


If you are using the DataContract/DataMember attributes in your code, you add a name (as well as some other named parameters).

[DataMember(Name = "timestamp")]
public string GetTimeResult


As pointed out in this article, suppose you are not using a data member explicitly in a data contract and want to return, say, a timestamp as a simple string for the response. Just use the annotation [return: MessageParameter(Name = "timestamp")] with your operation contract method:

[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/timestamps", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
[return: MessageParameter(Name = "timestamp")]
string GetStringTimestamp();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜