Principales respuestas
Web API Rest c# json

Pregunta
-
Me gustaria saber como puedo definir una Web API Rest en donde tenga un metodo en donde reciba un json y devuelva un json con una serie de datos.
Por ejemplo tendre la clase telefonos que tiene codigo,nombre,telefono y lo que quiero hacer es definir una web api rest con el siguiente metodo llamado DameDatos
Valor entrada JSON que recibe un telefono
Valor salida JSON que devuelve Codigo,Nombre,Telefono en formato JSON
Un saludo,
Respuestas
-
hola
puede recibir una clase como parametro, sera model binding quien se encargue del mapeo del json que envies
para retprnar json reemplaza el HttpResponseMessage por JsonResult
la unica diferencia en tu caso es que la llamada ajax sera con un dataType: json para que asi el JsonResult serialice los datos que retornes
de esta forma puede usar un controller de mvc para enviar y recibir json
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Pablo RubioModerator lunes, 8 de enero de 2018 18:23
- Marcado como respuesta Pablo RubioModerator jueves, 11 de enero de 2018 22:11
-
Hola. Como bien ha indicado Leandro, puedes establecer como parámetro de tu método una clase la cual deserializa a través del Json que envíes.
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
- Marcado como respuesta Pablo RubioModerator jueves, 11 de enero de 2018 22:11
Todas las respuestas
-
Hola, te recomiendo eches un vistazo a Getting Started with ASP.NET Web API 2 (C#) para que veas cómo se implementan las Api.
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
- Propuesto como respuesta Pablo RubioModerator lunes, 8 de enero de 2018 15:09
-
Gracias por tu ayuda pero en realidad lo que quiero es sustituir este metodo que tengo definido en mi controller, que es el siguiente:
[HttpGet]
public HttpResponseMessage DimeDatos(string tlf)
{
Informacion minfo = new Informacion();
List<Info> info = minfo.DimeDatos(tlf);
var jsonFormatter = new JsonMediaTypeFormatter();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
jsonFormatter.SerializerSettings.Culture = new CultureInfo("en-US");
if (info.Count == 0)
{
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, info, jsonFormatter);
}
}Lo que quiero hacer es que ese metodo:
public HttpResponseMessage DimeDatos(string tlf) en vez de recibir un string reciba un JSON ¿como se definiría?
-
hola
puede recibir una clase como parametro, sera model binding quien se encargue del mapeo del json que envies
para retprnar json reemplaza el HttpResponseMessage por JsonResult
la unica diferencia en tu caso es que la llamada ajax sera con un dataType: json para que asi el JsonResult serialice los datos que retornes
de esta forma puede usar un controller de mvc para enviar y recibir json
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Pablo RubioModerator lunes, 8 de enero de 2018 18:23
- Marcado como respuesta Pablo RubioModerator jueves, 11 de enero de 2018 22:11
-
Hola. Como bien ha indicado Leandro, puedes establecer como parámetro de tu método una clase la cual deserializa a través del Json que envíes.
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
- Marcado como respuesta Pablo RubioModerator jueves, 11 de enero de 2018 22:11