Pollito Blog
December 30, 2023

Desarrollo basado en contratos 3: Creación de contratos

Posted on December 30, 2023  •  2 minutes  • 407 words  • Other languages:  English

Definición de contratos antes de ensuciarnos las manos.

Consulta el repositorio de github

Esta es una continuación de Desarrollo basado en contratos 2: Elaboración de un escenario de práctica .

Todo lo que haremos aquí, lo puedes encontrar en el repositorio de github.

Spring City Explorer - Backend: Branch feature/cdd-3

Pequeños cambios en la denominación de las cosas.

Cambiaremos el nombre de todo lo relacionado con “News” a “Article”. Eso es porque news es una palabra rara que es plural y singular por sí sola, y cuando hablamos de entidades, generalmente hablamos de una sola entidad, en singular. Entonces, para facilitar la comprensión futura, estamos haciendo ese pequeño cambio.

diagram

¿Qué contratos estamos creando?

Nosotros necesitamos:

Siéntase libre de guardar sus contratos en cualquier lugar, siempre que esté dentro de main/resources/

Por el momento, serían un total de tres archivos.

contracts

No voy a entrar en detalles sobre cómo crear una especificación OpenApi (lo que llamo contrato, de ahora en mas lo llamaré OAS). Hay muchos recursos disponibles para aprender + chatGPT es decente en eso, pero generalmente se queda un poco corto.

Creando weatherstack.yaml y mediastack.yaml

Se trata de leer sus respectivas documentaciones y realizar el trabajo manual de escribir la especificación para que represente el comportamiento deseado. Tal vez tengan sus archivos especificación.yaml en algún lugar, pero no pude encontrarlos.

Creando springcityexplorer.yaml

Se dividió en dos pasos:

Chequeando el resultado final

Por el momento, nuestro proyecto se ve así. file tree

No dudes en revisar cada archivo yaml en tu editor OpenAPI favorito. Estoy usando OpenAPI ​(Swagger)​ Editor , un complemento de Jetbrains. Pero la opción más popular hoy en día es Swagger Editor .

Hey, check me out!

You can find me here