Para disponibilizar a documentação do Swagger, foi necessário adicionar um arquivo de @Configuration, similar à outros adicionados.
@Configuration
@EnableSwagger2
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
@Bean
public Docket apiDoc() {
List<ResponseMessage> defaultResponseMessages =
...
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(Predicates.not(PathSelectors.regex("/error")))
.build()
.apiInfo(metaData())
.globalResponseMessage(RequestMethod.GET, defaultResponseMessages)
.globalResponseMessage(RequestMethod.POST, defaultResponseMessages)
.globalResponseMessage(RequestMethod.PUT, defaultResponseMessages)
.globalResponseMessage(RequestMethod.DELETE, defaultResponseMessages);
}
Nesta classe há outras implementações, mas a mais importante é a destacada acima.
É através deste método de @Bean, que é possível configurar vários elementos em nosso portal do Swagger, como quais os Paths que serão documentados, quais informações da API serão publicadas como nome, descrição e autor, quais os métodos e seus response codes padrões, e por aí vai.
Foram adicionadas algumas novas dependências ao projeto, no arquivo
build.gradle
.Para disponibilizar a documentação do Swagger, foi necessário adicionar um arquivo de
@Configuration
, similar à outros adicionados.Nesta classe há outras implementações, mas a mais importante é a destacada acima.
É através deste método de
@Bean
, que é possível configurar vários elementos em nosso portal do Swagger, como quais os Paths que serão documentados, quais informações da API serão publicadas como nome, descrição e autor, quais os métodos e seus response codes padrões, e por aí vai.Feita esta implementação, você terá acesso a dois nos Links em seu "servidor" (considerando que você esteja com a API exposta na porta 8088): http://localhost:8088/v2/api-docs http://localhost:8088/swagger-ui.html
No demais, são caracterizações que você fará dos seus Endpoints, seus Comandos de entrada, e suas Representações de saída.
Seguem alguns exemplos.
Anotando informações do Endpoint:
Anotando informações do Command:
Anotando informações da Representation: