He estado trabajando para obtener un servicio WCF RESTful para aceptar un JSON como parámetro y devolver algo de JSON.WCF BodyStyle WrappedRequest no funciona para el param entrante de JSON?
Esta es mi servicio:
[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; }
Lo anterior fijará datos ser nula cuando paso {AuthRequest: {TokenId = "algunos GUID"}}.
Si configuro el BodyStyle del método como Bare, entonces datos están configurados correctamente, pero debo eliminar {AuthRequest} del JSON (lo cual no quiero hacer en realidad). ¿Hay alguna forma de que WrappedRequests funcione con {AuthRequest: {TokenId = "some guid"} como JSON?
Gracias.
Respuesta perfecta :) No hay idea de que sea el nombre del parámetro, no el tipo, y la opción de nombre del parámetro del mensaje es bastante buena de saber. – adamwtiko
¡Salvó mi día! Casi la misma pregunta, pero no encontré la suya solo por diferentes palabras clave: http://stackoverflow.com/questions/39048349/how-to-create-json-to-match-serialize-to-datacontract-in-wcf -rest-service/39088864 # 39088864 – NealWalters