Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2017, 13:24
Avatar de Ratus-BROWN
Ratus-BROWN
 
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 2 meses
Puntos: 8
Consumo de servicio REST desde AJAX jQuery

Hola buenas a toda@s,

Tengo una duda respecto a como debo construir tanto la Uritemplate del WebInvoke de uno de los métodos de un servicio REST, como su consumo mediante una llamada AJAX:

La duda que tengo es que quiero que el "OperationContract" sea mediante el paso de un objeto y no de por parámetros:


Código C:
Ver original
  1. [OperationContract]
  2. [WebInvoke(UriTemplate = "/alumno/{a}", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
  3. Alumno nuevoAlumno(Alumno a);

Este es un método que forma parte del contrato del servicio REST, como podemos observar la Uritemplate está formada por un ruta definida, que es la que utilizaremos para invocar al método del servicio.

Por otro lado tenemos la llamada AJAX con la que vamos a consumir el servicio:


Código Javascript:
Ver original
  1. var a = { "a": {"Nombre":"aaar","DNI": 1, "FechaNac": "222", "Edad": 2} };
  2.  
  3.  
  4.                 $.ajax({
  5.                     url: "http://localhost:2133/ServicioREST/alumno/{" + a + "}",
  6.                     method: 'get',
  7.                     dataType: 'json',  
  8.                     success: function (data) {
  9.  
  10.                         alert("Exito");
  11.              
  12.                     },
  13.                     error: function (err) {
  14.                         alert(err);
  15.                     }
  16.  
  17.                 });

Mi duda es: ¿Es posible consumir el servicio enviando el objeto "a" directamente al método (WebInvoke), o la buena práctica es hacer el paso por parámetros individuales y no encapsular la información en un objeto como en el ejemplo?

Al hacerlo de esta forma siempre me da errores a la hora de intentar consumir el servicio.

Gracias.
__________________
Disturb_downstairs (....we are cooking!)