- Primero debe crear una API web que se pueda consumir en el controlador MVC
- El siguiente es un enlace preferido para crear y consumir API web en MVC
Cómo crear API web en ASP.Net MVC
CÓDIGO DE MUESTRA Para Insertar / Actualizar / Eliminar / Seleccionar datos hacia y desde la API web del controlador MVC
using
Newtonsoft.Json;
- ¿Por qué parece que más personas eligen Python o Ruby sobre Perl?
- Cómo agregar un meta título, una palabra clave y una descripción en un sitio de WordPress con más de 2500 publicaciones
- Cómo configurar un sitio web que pueda competir contra Quora
- Cómo crear mi propio sitio web desde cero y cuál es el costo para alojarlo
- ¿Cuál es la complejidad promedio de las aplicaciones empresariales Node JS?
namespace
MVC_Client.Controllers
{
public
class
EmployeeInfoController : Controller
{
HttpClient client;
//The URL of the WEB API Service
string
url =
"
http: // localhost: 60143 / api / Emplo… "
;
//The HttpClient Class, this will be used for performing
//HTTP Operations, GET, POST, PUT, DELETE
//Set the base address and the Header Formatter
public
EmployeeInfoController()
{
client =
new
HttpClient();
client.BaseAddress =
new
Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new
MediaTypeWithQualityHeaderValue(
"application/json"
));
}
// GET: EmployeeInfo
public
Index()
async Task
Index()
{
HttpResponseMessage responseMessage = await client.GetAsync(url);
if
(responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result ;
var Employees = JsonConvert.DeserializeObject
>(responseData);
return
View(Employees);
}
return
View(
"Error"
);
}
public
ActionResult Create()
{
return
View(
new
EmployeeInfo());
}
//The Post method
[HttpPost]
public
Create(EmployeeInfo Emp)
async Task
Create(EmployeeInfo Emp)
{
HttpResponseMessage responseMessage = await client.PostAsJsonAsync(url,Emp);
if
(responseMessage.IsSuccessStatusCode)
{
return
RedirectToAction(
"Index"
);
}
return
RedirectToAction(
"Error"
);
}
public
Edit(
async Task
Edit(
int
id)
{
HttpResponseMessage responseMessage = await client.GetAsync(url+
"/"
+id);
if
(responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
var Employee = JsonConvert.DeserializeObject
(responseData);
return
View(Employee);
}
return
View(
"Error"
);
}
//The PUT Method
[HttpPost]
public
Edit(
async Task
Edit(
int
id,EmployeeInfo Emp)
{
HttpResponseMessage responseMessage = await client.PutAsJsonAsync(url+
"/"
+id, Emp);
if
(responseMessage.IsSuccessStatusCode)
{
return
RedirectToAction(
"Index"
);
}
return
RedirectToAction(
"Error"
);
}
public
Delete(
async Task
Delete(
int
id)
{
HttpResponseMessage responseMessage = await client.GetAsync(url +
"/"
+ id);
if
(responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
var Employee = JsonConvert.DeserializeObject
(responseData);
return
View(Employee);
}
return
View(
"Error"
);
}
//The DELETE method
[HttpPost]
public
Delete(
async Task
Delete(
int
id, EmployeeInfo Emp)
{
HttpResponseMessage responseMessage =await client.DeleteAsync(url +
"/"
+ id);
if
(responseMessage.IsSuccessStatusCode)
{
return
RedirectToAction(
"Index"
);
}
return
RedirectToAction(
"Error"
);
}
}
}