Creando API REST con .NET 5
En la actualidad estamos ante una corriente que se está extendiendo mucho en el ámbito de la tecnología, REST, que soporta un nuevo modelo de desarrollo de software diferente, el cual un solo Backend provee datos a múltiples clientes tanto webs como móviles.
Requisitos
- Visual Studio 2019
- .NET 5 instalado
- Postman
Empecemos creando un proyecto de tipo. ASP .NET Core Web Applicaction luego le definimos el nombre del proyecto y la ruta donde lo deseamos guardar.
En el siguiente apartado elegimos las opción de ASP.NET Core Web API.
Una vez el proyecto este creado con la siguiente estructura de carpetas ya estamos listo para crear nuestro API REST personalizado.
En esta ocasión crearemos un API REST para las entidades de Producto y Categoría. Para ello creemos una carpeta Entidades con las clases de Producto y Categoría como los atributos que se muestra en las siguientes imágenes.
Continuamos creando el controlador para categoría el cual lo crearemos utilizando el scaffolding con los siguientes pasos. Click derecho sobre la carpeta controllers -> Add -> Controller..
Luego elegimos las seccion API -> API Controller with actions, using Entity Framework ->Add. Luego seleccionamos la entidad categoría. Asimismo agregamos el contexto y le ponemos de nombre DataContext.
Para el caso del controlador de productos lo hacemos de la siguiente manera, Click derecho sobre la carpeta controllers -> Add -> Controller… Luego elegimos la sección API -> Controller -Empty como siguiente paso le ponemos el nombre al controlador y agregamos.
Ahora nos vamos a la clase DataContext y agregamos la entidad producto para que se cree la tabla en la base de datos. También revisamos en el Startup.cs que este agregado el DataContext.
Ahora procedemos a inyectar el DataContext en nuestra clase ProductosController de la siguiente forma.
Continuamos creando el método GetProductos de tipo GET el cual nos permitirá listar todos los productos.
El siguiente método es el GetProducto de tipo GET el cual nos permitirá obtener un producto por medio de su ID .
El siguiente método es el PostProducto de tipo POST el cual nos permitirá insertar un producto.
Para el método PutProducto de tipo PUT el cual nos permitirá actualizar un producto
Por ultimo el método DeleteProducto de tipo DELETE el cual nos permitirá eliminar un producto.
El Controlador ProductoController contiene los siguientes métodos.
- GET /api/Productos
- GET /api/Productos/{id}
- POST /api/Productos
- PUT /api/Productos
- DELETE /api/Productos/{id}
Antes de ejecutar el proyecto vamos a crear una base de datos. Para ello nos vamos al SQL Server Object Explorer -> Databases -> create database .
Modificamos el appsettings.json con el nombre de nuestra base de datos creada.
Agregamos migraciones a nuestro proyecto, para ello nos vamos Tools ->Nugget Package Manager -> Package Manager Console y ejecutamos el comando add-migration initial-migration con el generara el código para crear la estructura de la base de datos, para ejecutar todo el código y generar la estructura en la base de datos utilizamos el comando update-database
Para terminar ejecutemos el proyecto y probemos con Postman.
Creamos una categoría en nuestra API
Creamos un producto utilizando la categoría creada
Listamos los productos con su categoría
Con esto tenemos nuestra API REST terminada en un próximo post estaremos publicando y consumiéndolo desde Xamarin Forms. Asimismo les dejo el link del repositorio. https://github.com/Roy360erick/Creando-API-REST-NET5