Pollito Blog
December 29, 2023

Desarrollo basado en contratos 2: Elaboración de un escenario de práctica

Posted on December 29, 2023  •  3 minutes  • 610 words  • Other languages:  English

Creemos una aplicación sencilla para poner en práctica algunas ideas.

Consulta el repositorio de github

Esta es una continuación de Desarrollo impulsado por contratos: Creación de microservicios desde cero .

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

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

Bocetando la aplicación

Después de un vistazo muy rápido a AnyAPI , elegí las APIs weatherstack y mediastack para consumir en la aplicación de prueba. Crear una cuenta gratuita en ambos es bastante sencillo y más que suficiente para nuestro propósito.

Entonces, ¿qué hará la aplicación?

architecture Perdón por que la imagen parezca tan pequeña. No dudes en hacer clic derecho -> abrir imagen en una pestaña nueva.

Observaciones:

Comencemos: Creando el backend Java Spring Boot

Aquí está la parte más difícil: encontrar un nombre. Después de pedirle ideas a chatGPT, una se destacó: SpringCityExplorer. Así que sí, ahora esto es oficialmente El Proyecto Pollito Spring City Explorer.

Ahora vamos a Spring Initializr , y:

Con todo eso, estamos listos, haga clic en Generar, guarde el zip, extraiga donde quiera, ábralo con su IDE favorito. El mío es IntelliJ IDEA 2021.3.2 (Ultimate Edition).

Spring Initializr

Después de abrir el proyecto, realice una limpieza y compilación rápidas de Maven. Cualquier problema que aparezca aquí probablemente se deba a algún conflicto relacionado con Java en su PC, IDE y/o una combinación de ambos. Google es tu mejor amigo aquí.

Si todo está bien, vaya a la clase principal (anotada con @SpringBootApplication), ejecútela y estaremos listos para comenzar.

Después de unos segundos, vaya a localhost y debería ver un mensaje de error.

Spring default error

Ahora es un buen momento para iniciar un git y terminar aquí. La siguiente parte crearemos las especificaciones de OpenAPI para que las implementen los controladores y para que los feign-clients extienda.

Hey, check me out!

You can find me here