【发布时间】:2011-09-01 19:04:01
【问题描述】:
我一直致力于让 RESTful WCF 服务既接受 JSON 作为参数又返回一些 JSON。
这是我的服务:
[OperationContract] [WebInvoke( Method="POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "Authenticate")] public AuthResponse Authenticate(AuthRequest data) { AuthResponse res = new AuthResponse(); if (data != null) { Debug.WriteLine(data.TokenId); res.TokenId = new Guid(data.TokenId); } return res; }
当我通过 { AuthRequest: { TokenId = "some guid"} } 时,上面将设置 data 为空。
如果我将方法的 BodyStyle 设置为 Bare,则 data 设置正确,但我必须从 JSON 中删除 { AuthRequest }(我真的不想这样做)。有什么方法可以让 WrappedRequests 与 { AuthRequest: { TokenId = "some guid"} 作为 JSON 一起工作?
谢谢。
【问题讨论】:
标签: wcf web-services json rest web