2.5 Estructura de los Proyectos .Net Core
Last updated
Last updated
Al crear un nuevo proyecto web de .NET Core te crea la siguiente estructura (Cuando no es minimal api, se verá en un capítulo adicional)
Al correr tu proyecto te muestra el servicio con swagger. Si le das clic en Try it out puedes probar el servicio
A continuación explicare el contenido del archivo WeatherForecastController el cual contiene la estructura básica que siguen los servicios REST.
[ApiController]
Indica que se trata de un controller API por lo que los servicios regresan las respuestas estándar de los servicios.
[Route("[controller]")]
Esta instrucción indica como se forma la url para acceder a los servicios. Se formara por la url donde corre tu servicio mas el nombre del [controller]. Este texto se sustituye por el nombre del archivo sin la palabra controller, en este caso se remplazara por la palabra WeatherForecast ya que el archivo se llama WeatherForecastController. Asi la url es https://localhost:5001/WeatherForecast
La clase ControllerBase es propia de .NET y contiene la información básica de controladores MVC
Los métodos del servicio se ponen entre corchetes arriba de cada función. En este caso el método es GET, que regresará una lista de objetos WeatherForecast.
Para crear un servicio para consultar un solo registro, en los parámetros a recibir en la url se indica con el nombre del parámetro entre llaves por ejemplo {id} y en la función el nombre del parámetro debe coincidir, como se ve en el ejemplo
Para insertar el metódo es HttPost y los datos del registro a insertar se reciben en el body de la petición. En este ejemplo el parámetro es un string. En el caso de un cliente se recibe el objeto Cliente.
Para modificar el método es HttpPut recibiendo como parámetro el id del registro a modificar. Los datos del registro a modificar se reciben en el body de la petición
Para borrar un registro el método es HttpDelete recibiendo como parámetro el Id del registro a borrar.
Este archivo de ejemplo te muestra como crear los 5 servicios mas comunes.
En la siguiente lección crearemos el primer servicio ya con conexión a una base de datos de MySQL.
Archivo/Carpeta
Descripción
Controllers
Contiene los controladores. Son clases para crear los servicios REST
WeatherForecastController.cs
Archivo de ejemplo con un servicio REST que te regresa diferentes climas en grados Farenheit y Celsius
appsettings.json
Te permite configurar aspectos básicos de tu aplicación como la cadena de conexión a tu base de datos, que tipo de logs deseas guardar (errores, seguridad) propiedades de configuración, etc.
Program.cs
Los proyectos de .NET Core son un programa de consola que crea un servidor web. En este programa se define como iniciar el servidor web.
Startup.cs
Permite configurar los servicios disponibles, como los servicios Rest, la base de datos, seguridad, documentación.