SERIE: DESARROLLA TU PRIMER API REST EN ASP.NET CORE (Conoce la Estructura de un API )

Antes de empezar a trabajar en esta plataforma, hay algunas cosas que debemos conocer, en especial si eres nuevo en el mundo del desarrollo. Si ya has desarrollado aplicaciones en ASP.NET muchas elementos te parecerán familiares, sin embargo, hay algunas diferencias entre ASP.NET y ASP.NET CORE.

Una vez hayas creado tu primer proyecto en Asp.Net Core, encontraras unas notables diferencias, tales como la estructura y algunas cosas parecerán a ver desaparecido.

Cuando creas un API, esto es lo que trae por defecto este proyecto. Al menos hay tres carpetas con las que estamos familiarizados, las cuales son Controllers, bin y obj. Pero que hay de startup.cs, appsettings.json, appsettings.Development.json?

 

part1

Directorios:

 

  • Recordemos que esta no es una aplicación tradicional MVC, pues de hecho por su naturaleza las APIs tienen una estructura diferente, un elemento muy sencillo que podemos reconocer al instante es que carecen de vistas, además debemos crear nuestra propia carpeta de Models.

 

  • El nuevo directorio wwwRoot, almacena los archivos estáticos, como Css, imagenes, es la equivalente a Content de un proyecto Asp.Net tradicional.

 

Archivos

Escudriñemos más a fondo la estructura y el contenido de estos archivos.

 

  • appsettings.json  Este archivo contiene todas las variables globales de la API, eso incluye las conexiones a Base de datos, en este caso por tratarse de un proyecto nuevo, carece de esta, más adelante podremos crear las nuestras.Este archivo equivaldría al archivo Web.config en Asp.Net tradicional. Pero como recordaremos Web es un archivo en formato xml, y el appsettings.json como su nombre lo indica se encuentra en formato JSON.

 

 

La diferencia entre appsetting.json y appsettings.Development.json es que “Development” es para ambientes de prueba y appsettings.json es para producción. Es decir, que cuando ejecutemos nuestra aplicación en Visual Studio, este sobreescribirá la información en appsettings.json, en otras palabras siempre elegirá los datos que tengamos almacenados en appsetting.Development.json por encima de los que se encuentren en appsetting.json.

Así se vería un connection string en nuestro archivo appsettings.json

 

part2

Este es un ejemplo como es creado por defecto el archivo.
part3

  1.  csproj Este viejo amigo ya lo conocemos, pero por si las dudas, en este archivo se añaden todos los paquetes de nuestro proyecto. Si alguien más intenta abrir este proyecto en otro ordenador cuando intente ejecutar, el Visual Studio Code, o donde sea que intente ejecutar, va a restaurar todos los paquetes que se encuentren en este archivo.

part4

3.Program.cs

Este archivo contiene la función Main, la cual es punto de entrada de tu programa. Cuando ejecutas tu programa es la primera función que se va a ejecutar.

Luego de esto tenemos la implementación de la interfaz IWebHost, que contiene el puerto por el cual se conectará por defecto la aplicación. Desde este archivo podremos hacer nuestras configuraciones iniciales y por así decirlo, manipular nuestro servidor.
part5

4. Startup.cs, Desde este archivo manejaremos las dependencias de nuestra aplicación y los servicios que vamos a usar en ella.

 

part6

Los métodos que podemos encontrar en esta clase son ConfigureServices, la cual nos permite configurar los servicios de la aplicación, además cuenta con el método Configure para crear el orden de ejecución de procesamiento de peticiones de la aplicación.


Conclusiones

Este ha sido un tour por lo que pronto estaremos desarrollando, un API en Asp.Net.Core. Conocer la estructura de este tipo de proyecto es muy importante y así como aterrizar los conceptos que tenemos sobre el tema. Sigue esta serie, y en el próximo artículo empecemos a desarrollar. Si no conoces los conceptos básicos para desarrollar un API, accede a este link.