Entradas

Mostrando entradas de febrero, 2021

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO]

Configuración de Swagger

Swagger permite documentar las APIS de un proyecto de forma automática. Para usar swagger en un proyecto maven, se debe seguir los siguientes pasos Configuración de dependencias en proyecto maven. <!--SWAGGER--> <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger2</artifactid> <version>2.9.2</version> </dependency> <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger-ui</artifactid> <version>2.9.2</version> </dependency> Crear una clase SwaggerConfig configurada con las anotaciones:  @Configuration @EnableSwagger2 y que retorne un objecto de tipo   Docket @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket apiDocket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(getApiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any())

Ejemplo de diseño de api REST

 Antes de empezar con el diseño de un api REST es necesario definir los recursos que se necesitan para lograr una funcionalidad específica; por ejemplo, a continuación se lista los recursos  necesarios para administrar un listado de actividades por usuario. Obtener el listado de actividades de un usuario específico  GET /users/{user_id}/activities Eliminar una actividad de un usuario específico  DELETE /users/{user_id}/activities/{act_id} Editar una actividad de un usuario específico   PUT /users/{user_id}/activities/{act_id} Crear una actividad de un usuario específico.  POST /users/{user_id}/activitie