Entradas

Mejorando la productividad en nuestros Pull Request de Azure Repos

Imagen
Hay veces que nos puede tocar revisar varios Pull Request (PR) y dependiendo del tamaño del equipo cada PR puede variar según quién lo crea. O también nos toca a nosotros crear un PR y tratamos de ser lo más descriptivo posible a nuestra manera. Y es común que en la descripción nos encontremos con una lista de los commits realizados (incluyendo aquellos que son propios de git al hacer un merge), no cabe duda de que al encontrarnos con algo así es muy probable que pasemos por alto leer cada uno de esos commits. ¿Por qué no mejor alinearnos con el equipo y definir una estructura más legible de nuestro PR? 😃 Con Azure Repos podemos crear 3 tipos de plantillas ( templates ) para la descripción de nuestros PR. Una plantilla por defecto para todos los PR Una plantilla para una rama específica Una plantilla adicional, que se puede agregar a otras plantillas ¿Cómo creo mi primera plantilla para Pull Request en Azure Repos? Lo primero que debemos que hacer es crear una carpeta base en la raí...

Filtros en API Controllers de ASP.NET Core

Imagen
Cuando construimos nuestras Web Apis normalmente necesitamos manipular las solicitudes entrantes y a las respuestas  devueltas de nuestros clientes. A veces debemos agregar validaciones o logs que se repiten en varios de los métodos de nuestros  controllers.  ¡Y como a todo programador, no nos gusta repetir código! Para ello sacaremos provecho de los Filters que nos provee ASP.NET Core. Ciclo de Pipelines Lo primero que debemos tener en cuenta es que cuando llega un request a nuestro controller, éste pasa por una secuencia de middlewares y pipelines. En nuestro caso, los filtros se ejecutan en el Filter Pipeline . El orden cuando hacemos uso de estos pipelines es muy importante ya que como dijimos es una secuencia, es decir, que el request pasará por cada uno de ellos, y cuando se obtenga una respuesta volverá a pasar por cada uno en el orden inverso. Dado que nuestros controllers realizan una acción, podemos separar el contexto en dos: antes ( OnExecuting ) y después...