<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Samuell Ralph</title>
    <description>The latest articles on DEV Community by Samuell Ralph (@samuellralph).</description>
    <link>https://dev.to/samuellralph</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F490077%2Fb68bfd1b-9c21-4b91-be2e-006aa657ca31.jpeg</url>
      <title>DEV Community: Samuell Ralph</title>
      <link>https://dev.to/samuellralph</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samuellralph"/>
    <language>en</language>
    <item>
      <title>Configuração básica do Springfox</title>
      <dc:creator>Samuell Ralph</dc:creator>
      <pubDate>Tue, 17 May 2022 04:57:57 +0000</pubDate>
      <link>https://dev.to/samuellralph/configuracao-basica-do-springfox-599a</link>
      <guid>https://dev.to/samuellralph/configuracao-basica-do-springfox-599a</guid>
      <description>&lt;p&gt;Springfox é uma ferramenta open source com uma UI (interface de usuário) amigável, desenvolvida para integrar Spring Boot com as especificações do Swagger e apresentar a documentação de uma API Rest.&lt;/p&gt;

&lt;p&gt;Link do projeto: &lt;a href="https://springfox.github.io/springfox/"&gt;&lt;strong&gt;Springfox&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Antes de prosseguirmos fica uma observação.&lt;br&gt;
Acima da versão 2.4.X do Spring Boot é necessário adicionar a anotação @EnableWebMvc na classe de configuração Springfox ou na classe mainApp, abaixo possui um exemplo.&lt;/p&gt;

&lt;p&gt;Iniciaremos com a criação de um projeto no &lt;a href="https://start.spring.io/"&gt;Spring Initialize&lt;/a&gt;, adicione a dependência &lt;strong&gt;Spring Web&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Após importar o projeto na sua IDE, adicione a dependência do Springfox ao pom.xml:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;dependency&amp;gt;
   &amp;lt;groupId&amp;gt;io.springfox&amp;lt;/groupId&amp;gt;
   &amp;lt;artifactId&amp;gt;springfox-boot-starter&amp;lt;/artifactId&amp;gt;
   &amp;lt;version&amp;gt;3.0.0&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Crie uma classe para configuração de apresentação da UI do Swagger, está classe definirá como o que deve ser exibido na UI, além disso possui o @EnableWebMvc mencionado acima.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@EnableWebMvc
@Configuration
public class SwaggerConfig {

    @Bean
    public Docket swagger() {
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .paths(PathSelectors.any())
                .build();
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Crie um controller com os verbos HTTP de exemplo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@RestController
@RequestMapping("/exemplo")
public class ExemploController {

    @GetMapping
    public String getExemplo() {
        return "Retorno exemplo";
    }

    @PostMapping
    public void postExemplo() {
    }

    @PutMapping
    public void putExemplo() {
    }

    @DeleteMapping
    public void deleteExemplo() {
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start a aplicação, e acesse &lt;a href="http://localhost:8080/swagger-ui/index.html"&gt;http://localhost:8080/swagger-ui/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ko2cnX_y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p6e515hl4ep7c3rxa2g2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ko2cnX_y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p6e515hl4ep7c3rxa2g2.png" alt="Swagger" width="880" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apresentei aqui uma configuração básica do Springfox, integrado ao Spring Boot para a apresentação de uma UI amigável dos endpoints de uma API Rest. &lt;/p&gt;

</description>
      <category>java</category>
      <category>springfox</category>
      <category>springboot</category>
      <category>swagge</category>
    </item>
  </channel>
</rss>
