开发者

Changing JSON response root node message in WCF

开发者 https://www.devze.com 2023-01-03 04:20 出处:网络
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 da

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

精彩评论

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