se consumirá un servicio web api desde MVC utilizando jQuery, ya se desarrolló el servicio y se consumió desde MVC utilizando HttpClient en esta entrada.
el servicio webApi se encuentra alojado en IIS Express puerto 55987
esta es la tabla en a que se mostraran los datos obtenidos con el verbo GET
| ID | Nombre | Departamento | Cargo |
|---|
Obtener todos los registros código WebApi
[Route("api/Empleados")]
[ResponseType(typeof(List))]
public List Getempleadoes()
{
var Empleados = (from dato in db.empleadoes
select new EmpleadoModelApi()
{
id = dato.id,
Nombres = dato.nombre,
Cargo = dato.Cargo.Cargo1,
Dpto = dato.Dpto.Dpto1
}).ToList();
return Empleados;
}
codigo javascript, como ejemplo se ejecuta al presionar un botón
$("#boton_obtenerTodos").click(function () {
$.ajax({
type: "GET",
url: "http://localhost:55987/api/Empleados",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#Table > tbody').empty();
$.each(data, function (i, item) {
var rows =
"" +
"" + item.id + "" +
"" + item.Nombres + "" +
"" + item.Cargo + "" +
"" + item.Dpto + "" +
"";
$('#Table > tbody').append(rows);
});
console.log(data);
},
failure: function (data) {
alert(data.responseText);
},
error: function (data) {
alert(data.responseText);
}
});
});
MÉTODO GET/{id}
Obtener un registro especifico según id código Web Api, se muestra solamente el encabezado.
[Route("api/Empleado/{id}")]
[ResponseType(typeof(empleado))]
public IHttpActionResult Getempleado(int id)
código javascript, como ejemplo se ejecuta al presionar un botón
$("#boton_buscar").click(function () {
var id = $("#busqueda").val();
$.ajax({
type: "GET",
url: "http://localhost:55987/api/Empleado/"+ id,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data, textStatus, jqXHR) {
$("#Table").empty();
var rows =
"" +
"" + data.id + "" +
"" + data.Nombres + "" +
"" + data.Cargo + "" +
"" + data.Dpto + "" +
"";
$('#Table').append(rows);
console.log(data);
}
},
failure: function (data) {
alert(data.responseText);
},
error: function (data) {
alert(data.responseText);
}
});
});
MÉTODO POST
Agregar un nuevo registro código Web Api
[Route("api/PostEmpleado")]
[ResponseType(typeof(empleado))]
public IHttpActionResult Postempleado(CrearEmpleadoApi empleado)
{
try{
empleado clase = new empleado();
clase.id = Convert.ToInt32(empleado.id);
clase.nombre = empleado.Nombres.ToString();
clase.IdCargo = Convert.ToInt32(empleado.cargo);
clase.IdDpto = Convert.ToInt32(empleado.Dpto);
...
return Ok(empleado);
}
catch (DbUpdateException)
{ ... }
}
código javascript
$("#boton_ingresar").click(function () {
var idValue = 6969;
var NombresValue = "Prueba desde Web Api";
var cargoValue = 2;
var DptoValue = 2;
$.ajax({
url: "http://localhost:55987/api/PostEmpleado",
type: "Post",
data: JSON.stringify({
id: idValue,
Nombres: NombresValue,
cargo: cargoValue,
Dpto: DptoValue
}),
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert('Registro aregado exitosamente !!!');
},
failure: function (data)
{
alert(data.responseText);
},
error: function (data)
{
alert(data.responseText);
}
});
});
MÉTODO DELETE
Eliminar registro especifico según id código WebApi
[Route("api/DeleteEmpleado/{id}")]
[ResponseType(typeof(empleado))]
public IHttpActionResult Deleteempleado(int id)
código javascript
$("#boton_borrar").click(function () {
var id = $("#busqueda").val();
$.ajax({
type: "Delete",
url: "http://localhost:55987/api/DeleteEmpleado/" + id,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert('Registro Eliminado');
},
failure: function (data) {
alert(data.responseText);
},
error: function (data) {
alert(data.responseText);
}
});
});

