Crea una API fácil con ASP.NET CORE 🔥
Tags: asp, tutorial, api
Published: 2022-08-27 01:31:00

¡Hola, gente! este es mi primer blog en la plataforma, espero les sea de utilidad este artículo ⭐

Vamos a suponer que estamos en la necesidad de crear una API y tiene que ser en ASP.NET Core ¿Qué debemos hacer? 🤔

Primero, para trabajar con plataforma de .NET necesitas tener instalado alguno de sus SDK y su respectivo runtime, te recomiendo que sean los más recientes, [haz click aquí para ver los SDK](https://dotnet.microsoft.com/en-us/download/dotnet) 👈

Este SDK viene con un CLI (Command Line Interface) la cual nos permite crear y ejecutar nuestro proyecto ¡Entré otras muchas coas!

Bien, ahora podemos crear un proyecto desde nuestra terminal con el siguiente comando

```
dotnet new webapi -n "YourProjectName"
```

Este comando es especifico para crear una API, pero puedes ver todas las opciones de proyectos distintos disponibles con el comando:

```
dotnet new --list
```

Después de dar ese dato, vamos a ver que el comando que previamente ejecutamos nos creo un directorio con el nombre especificado:

![Carpeta](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g2mdj9br0w1hf5kgdbok.png)

Ahora puedes elegir el editor de código de tu preferencia 😊
Por defecto utilizaré Visual Studio Code, abre el editor y navega hacía la carpeta recién creada:

![Editor de código](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/upjapy5hsrcwcelp64b2.png)

Como podemos observar nos creó un conjunto de archivos directamente listos para ser ejecutados 🔥

Para probar que todo va bien, (dentro del directorio del proyecto) ejecuta en la terminal el siguiente comando:

```
dotnet watch run
```
Ahora ya que tienemos un proyecto listo para t
Si todo salió bien, nos debería mostrar en el navegador la siguiente interfaz:

![Swagger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otxpedjvqizqaghfbpae.png)

Este es Swagger, y es solo una interfaz gráfica que nos ayudará a probar nuestra API, viene por defecto al crear un proyecto webapi. 👌

Puedes observar que ya tiene un endpoint, pues la plantilla viene con uno por defecto, y desde Swagger puedes probar su funcionamiento, despliega el panel, haz click en Try y ejecuta. ❤️

⭐ Ahora ya que tenemos todo listo para trabajar, te mostraré a crear tu controlador, para consecuente, ¡Crear tus endpoints! ⭐

Debes crear un archivo .cs en la carpeta Controllers, este será un controlador y debe seguir la siguiente nomenclatura por convención: NameController.
Por ejemplo, si quiero un controlador para mis empleados, crearé el controlador EmpleadoController 👻

Dentro del archivo crea una clase con el mismo nombre y extienda a la clase ControllerBase, como el siguiente ejemplo (No olvides agregar el espacio de nombres de ControllerBase):

```cs
using Microsoft.AspNetCore.Mvc;

namespace YourProjectName.Controllers
{
    public class EmpleadoController : ControllerBase
    {
        
    }
}
```

A esta clase debemos relacionarla con un par de atributos:

```cs
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
```

En el segundo atributo, Route, especificamos la manera de acceder a los endpoints, que de normal es el nombre de controlador, accederemos a un endpoint de estas posibles maneras:

```
Empleado/get
Empleado/post
Empleado/put
```

Ahora, al asunto importante, los endpoints serán los métodos de esta clase 😲

probaremos el siguiente método:

```cs
[HttpGet("{i}")]
public int Get(int i)
{
   return i + 1;
}
```

Ahora podemos ejecutar de nuevo la aplicación y veremos que el método aparece en Swagger, de esta forma lo puedes probar desde esa interfaz.

Como puedes ver en el código, es un simple método que recibe un número y retorna el número +1. 🤣

Pero lo importante es que lo enlazamos a un atributo.
Este atributo define el método http para acceder a nuestro método. 

Consulta los diferentes métodos http para que te des una idea 🔥

También observa que le pasamos como argumento un string con un 
valor entre corchetes, este valor es el que recibiremos mediante Query String. Dentro de ese mismo string puedes especificar como acceder al método. Observa 👀

```cs
[HttpGet("sumar/{i}")]
public int Get(int i)
{
    return i + 1;
}
```


![Swagger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4s4q8ygf15dj59mqu8y.png)

Ahora ya sabes lo super básico para empezar a crear una API. Próximamente exploraré más tema para complementar cosas más complejas como bases de datos, documentación, etc.

Ten un excelente día. 🔥👌