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 con spring boot

Swagger permite documentar las APIS de un proyecto de forma automática.

Para usar swagger en un proyecto maven con spring-boot, se debe seguir los siguientes pasos

  • Configuración de dependencias en proyecto maven.

   <!--SWAGGER-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
  • Crear una clase SwaggerConfig configurada con las anotaciones: @Configuration
     y que retorne un objecto de tipo Docket

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
public class SwaggerConfig {

    @Bean
    public Docket apiDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(getApiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.warriorsoft.homepay.rest.controller"))
                .paths(PathSelectors.any())
                .build();

    }

    private ApiInfo getApiInfo() {
        return new ApiInfoBuilder().title("DIAMONCODE")
                .description("REST WebServices HOME-PAY")
                .contact(new Contact("DIAMONCODE", "www.diamoncode-soft.com", "warriorwl86@gmail.com"))
                .version("1.0")
                .build();

    }

}

  • Ingresar a la consola de swagger
    • http://localhost:8080/swagger-ui.html --> Para ver la documentacion de las apis
    • http://localhost:8080/v2/api-docs -> Para ver el jso de las apis
Fuentes:
https://wladdylopez-software.blogspot.com/2021/02/configuracion-de-swagger.html


Comentarios

Entradas populares de este blog

Create a docker image from a spring boot project

Comandos docker

Kubernetes -Tipos de objetos