ART: Diferencia entre MVC y web API


Introducción
Este articulo explica la diferencia entre ASP.NET MVC y el ASP.NET Web API y también explica cuando usar Web API con MVC.


Acerca de MVC
Modelo Vista Controlador(MVC) divide una aplicación en tres partes, Modelo, Vista y Controlador. ASP.NET tiene muchas opciones para crear aplicaciones web  usando ASP.NET  Web Form, Framework MVC que combina las caracteriscticas de ASP.NET como MasterPages, Membership basado en autenticación. MVC esta en el ensamblado "System.Web.MVC".
Los componentes que son incluidos por MVC
Modelo: Los modelos son objetos usados para recuperar y almacenar el estado del modelo en la base de datos.vamos a ver un ejemplo: Hay un objeto “Item” que recupera los datos de la base de datos y realiza una operación y entonces actualiza la data en la base de datos. si una aplicación solo lee un conjunto de datos y lo envía a la vista, entonces la aplicación  no tiene una clase asociada y el modelo de la capa fisica.
Vista: Los componentes vista muestran la Interface de usuario(UI) de la aplicación que es creado por los datos del modelo. Por ejemplo: la vista de la tabla  Items mostrados en el DrowDownList y TextBoxes que dependen del estado actual del objeto “Item”.
Controlador: En MVC, los controladores son también llamados componentes. estos componentes administran la interacción de los usuarios y la selección de una vista para mostrar en la UI. El principal trabajo de los controladores es que estos administran los valores de las consultas y transfieren estos valores a los modelos.


Los modelos recuperan la información y actualizan la información en la base de datos. las vista son usados sólo para mostrar la información, y los controladores son usados para gestionar y responder a las entradas de los usuarios y sus interacciones.


Acerca de los Web API
ASP.NET Web API permite mostrar los datos en varios formatos, como XML y JSON. Este es un framework que usa los servicios HTTP y hace que esto sea fácil para proporcionar una respuesta a la solicitud del cliente. La respuesta depende de la petición de los clientes. Web API construye los servicios HTTP y gestiona la petición usando el protocola HTTP. Web API es codigo abierto y este puede ser hospedado en la aplicación o en el servidor IIS. la petición puede ser GET, POST, DELETE o PUt. Podemos decir de las Web API lo siguiente:
  • Es un Servicio HTTP
  • Es diseñado para llegar un amplio rango de clientes.
  • Utiliza la aplicación HTTP


Diferencia entre MVC y Web API
Hay muchas diferencias entre MVC y Web API, los que se indican a continuación:
  • Usamos MVC para desarrollar aplicaciones web  que responde tanto a datos como a vistas pero  Web API es usado para generar servicios HTTP que responden sólo a datos.
  • Web API  retorna los datos en varios formatos como JSON, XML y otros formatos  basados en la aceptación de la cabecera de petición. Pero MVC retorna datos en formato JSON usando  JSONResult.
  • Web Api soporta negociación de contenidos y autoalojamiento. Todas estas no son soportadas en MVC.
  • Web API incluye varias características de MVC, como ruteo, enlace de modelo pero estas características son diferentes y están definidas en el ensamblado “System.Web.HTTP” y en MVC estas características  son definidas en el asemble “System.Web.Mvc”.
  • Web API ayuda a la creación del servicio Restful cobre el  Framework .NET, pero MVC no los soporta.


Cuando Combinar MVC con Web API
  • Cuando hacemos autoalojamiento en la aplicación, en este combinamos ambos Controlador MVC y la API en un único proyecto y este ayuda a gestionar la peticiones AJAX  y responder en XML, JSON y otros formatos.
  • Combinamos MVc y Web API para habilitar la autorización para una aplicación. En esto creamos dos filtro, uno para Web API y otro para MVC.

    Este imagen describe la combinación de ASP.NET y ASP Web API

    3 comentarios

    Great post i must say and thanks for the information. Education is definitely a sticky subject. However, is still among the leading topics of our time. I appreciate your post and look forward to more.
    Spring boot Online Training

    Reply

    Thank you or the information.
    However it is still not clear o me when and one example in which one should combine ASP.NET Web Api and MVC. Could you elaborate more in the last point?
    Thank you

    Reply

    Casino Las Vegas - MapyRO
    Welcome 당진 출장안마 to Mapyro, home of 광주광역 출장마사지 the best casinos in Las 화성 출장안마 Vegas. Get your free Vegas 안성 출장샵 hotel address from 서귀포 출장안마 our mapyro database to find and review your preferred

    Reply

    Publicar un comentario