No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Análisis del template para APIs de .NET

7/22
Recursos

Aportes 16

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Empezando a trabajar en backend para aplicaciones web, este curso es la esencial

Análisis del template para APIs de .NET


Cuando ejecutamos el comando dotnet new webapi el CLI de dotnet nos crea un proyecto listo para ejecutar y realizar pruebas, veamos que contiene este proyecto.

  • Program.cs: Este archivo contiene la clase principal del programa, que es el punto de entrada para la aplicación. También contiene la lógica para iniciar el host de la aplicación y configurar el enrutamiento.
  • Controllers: Este directorio contiene los controladores de la API. Cada controlador es responsable de manejar una o varias solicitudes HTTP y devolver una respuesta.
  • appsettings.json: Este archivo contiene la configuración de la aplicación, como las opciones de conexión a la base de datos y las opciones de configuración personalizadas.
  • Properties: Este directorio contiene información sobre el proyecto, como la información de versión y la información de compilación.
  • Models: Este directorio contiene los modelos de datos utilizados por la API. Los modelos representan los datos que se manejan en la API, como los recursos que se están exponiendo.

Patron MVC

MVC es el acrónimo de Model-View-Controller, que es un patrón de arquitectura de software utilizado en desarrollo de aplicaciones. Se utiliza para separar la lógica de negocios, la lógica de presentación y la lógica de control en componentes independientes.

  1. Modelo (Model): Es la capa de datos y lógica de negocios de la aplicación. Se encarga de representar los datos y las operaciones que se realizan sobre ellos.
  2. Vista (View): Es la capa de presentación, se encarga de mostrar los datos al usuario y de recibir su entrada.
  3. Controlador (Controller): Es la capa de control, que se encarga de coordinar las acciones entre el modelo y la vista. Recibe las solicitudes del usuario a través de la vista y actúa sobre el modelo para realizar las acciones necesarias.

Patron MXC en Nuestra API

En el template de proyecto *Web API en .NET*, la arquitectura MVC se aplica para separar la lógica de la aplicación en diferentes componentes sin hacer uso de las Vistas:

  1. Modelos: Los modelos representan los datos que se manejan en la API, como los recursos que se están exponiendo. Estos modelos se almacenan en el directorio Models.
  2. Controladores: Los controladores son la capa de control de la aplicación y se encargan de manejar las solicitudes HTTP y devolver las respuestas correspondientes. Los controladores se almacenan en el directorio Controllers.
  3. Vistas: En una API de Web, no hay vistas en el sentido tradicional, ya que no se muestra una interfaz gráfica de usuario. En su lugar, los controladores devuelven datos en formato JSON o XML para su uso por parte de las aplicaciones cliente.

MVC

  • Model
  • View
  • Controller

MXC

  • Model
  • Controller

Al momento de poner el comando en la terminal, va a crear la ultima versión disponible del .net, en mi caso me creó la 7.0, entonces el comando para que se cree con la versión requerida es:

dotnet new webapi --framework net6.0

Para el caso anterior ya se creará con la versión de .net 6.0

El patron es :

  • Model = Datos

  • View = interfaz de usuario

  • Controller= lógica

pero el template del API omite la vista
y solo genera

  • Model = Datos

  • Controller= lógica

No sé si es por el tiempo, pero ya no genera la carpeta de controllers.

En esta parte es importante para conocer un buen backend segun en este modelo.
Con la api podemos crear toda la logica abstracta pero la parte de vista podemos hacer rest con otras framework para consumir las respuestas

segun chatgpt si existe la "vista" en web api. alguien me saca de la duda xd En el contexto de un servicio REST, la "vista" no se refiere necesariamente a una interfaz de usuario como lo haría en una aplicación web MVC tradicional. En su lugar, la vista en un servicio REST podría interpretarse como la representación de los datos que se envía como respuesta a una solicitud HTTP. Esto puede ser JSON, XML u otro formato.

La vista de una REST es el DTO, no?

Si estas usando .NET 8 y no te aparece por defecto el link con protocolo https , puedes usar el comando : `dotnet run --launch-profile https` para cargar la configuración del protocolo.
Hola, Recientemente (Septiembre 2024) realicé el curso, mi máquina tenía instalado .Net 8.0 y el comando ```js dotnet new webapi ```No cargó la estructura MXC, asi que intenté hacerlo con versiones anteriores de net y funcionó, quedó así: ```js dotnet new webapi --framework net7.0 ```Ahí cargó tal cuál lo está mostrando el profesor. De hecho en la versión Net 8.0 dice que la librería: Microsoft.AspNetCore.Mvc está obsoleta. Cordial saludo
no me creo la carpeta de controladores
![](https://static.platzi.com/media/user_upload/image-561f9090-1242-47ee-8b56-e0127548cd83.jpg)
![](https://static.platzi.com/media/user_upload/image-930536e2-1a57-4a08-8b31-a09dced4c8e0.jpg)

WEB API de .Net lo que hace es eliminar la parte de la vista. Utiliza la arquitectura de MXC: Modelo (datos) y Controlador (lógica).

MVC - Modelo (datos), Vista (interfaz de usuario), Controlador (lógica)