Microservicio de consulta usando Spring-Boot, Maven y OpenApi 3.0
http://localhost:8080/api/v3/products/price
Las versiones de software utilizadas para desarrollar son las siguientes:
Maven 3.8.6
JAVA 11.0.2
Ubuntu Linux 22.04
IntelliJ IDEA 2022.2.2 (Community Edition)
SpringBoot con base de datos H2 y datos de ejemplo
A través de una consola o terminal:
- Descargar el repositorio github
git clone https://github.com/fdbozzo/api-consulta-precios.git
cd api-consulta-precios.git
- Ejecutar verificación e instalación de Maven
mvn validate
mvn verify
mvn clean install
- Ejecutar el JAR de la carpeta /target
java -jar target/swagger-spring-1.0.0.jar
Con los pasos anteriores debemos tener una API REST escuchando en las siguientes direcciones:
API REST: http://localhost:8080/api/v3/products/price
Documentación OpenApi 3: http://localhost:8080/swagger-ui/index.html
API Docs (JSON): http://localhost:8080/api_docs
Se pueden realizar consultas con los parámetros siguientes:
brand_id
Código de marca (ej:1
)product_id
Código de producto (ej:35455
)qry_date
Fecha/hora del precio a consultar (ej:2020-10-10T00:00:00Z
)
curl -X 'GET' \
'http://localhost:8080/api/v3/products/price?brand_id=1&product_id=35455&qry_date=2020-10-10T00:00:00Z' \
-H 'accept: application/json'
El resultado será un JSON con el registro del precio encontrado
[
{
"brand_id": 1,
"start_date": "2020-06-15T16:00:00Z",
"end_date": "2020-12-31T23:59:59Z",
"product_id": 35455,
"price": 38.95,
"price_list": 4,
"priority": 1,
"curr": "EUR"
}
]
Spring Boot Server
This server was generated by the swagger-codegen project.
By using the OpenAPI-Spec, you can easily generate a server stub.
This is an example of building a swagger-enabled server in Java using the SpringBoot framework.
The underlying library integrating swagger to SpringBoot is springdoc-openapi
Start your server as an simple java application
You can view the api documentation in swagger-ui by pointing to
http://localhost:8080/
Change default port value in application.properties