<?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: Willyan Guimarães Caetano</title>
    <description>The latest articles on DEV Community by Willyan Guimarães Caetano (@willyancaetano).</description>
    <link>https://dev.to/willyancaetano</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%2F569909%2Fcb9186cb-4a65-447a-b851-36a2807ef053.jpeg</url>
      <title>DEV Community: Willyan Guimarães Caetano</title>
      <link>https://dev.to/willyancaetano</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/willyancaetano"/>
    <language>en</language>
    <item>
      <title>Configurando Open API no Spring Boot 3</title>
      <dc:creator>Willyan Guimarães Caetano</dc:creator>
      <pubDate>Thu, 22 Dec 2022 01:03:32 +0000</pubDate>
      <link>https://dev.to/willyancaetano/configurando-open-api-no-spring-boot-3-17oc</link>
      <guid>https://dev.to/willyancaetano/configurando-open-api-no-spring-boot-3-17oc</guid>
      <description>&lt;p&gt;O Spring Boot 3 chegou e com diversas &lt;a href="https://www.baeldung.com/spring-boot-3-spring-6-new" rel="noopener noreferrer"&gt;novidades&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Se você já realizou a migração ou mesmo criou uma aplicação com a nova versão e precisa ou deseja inserir o OpenAPI para documentar suas APIs então vai uma dica importante.&lt;/p&gt;

&lt;p&gt;Basta utilizar o &lt;a href="https://springdoc.org/v2/" rel="noopener noreferrer"&gt;springdoc-openapi&lt;/a&gt;, biblioteca que fornece suporte para OpenAPI nos projetos Spring.&lt;/p&gt;

&lt;p&gt;Segue abaixo dependência necessária em projetos Maven ou Gradle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maven&lt;/strong&gt;&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;org.springdoc&amp;lt;/groupId&amp;gt;
      &amp;lt;artifactId&amp;gt;springdoc-openapi-starter-webmvc-ui&amp;lt;/artifactId&amp;gt;
      &amp;lt;version&amp;gt;2.0.2&amp;lt;/version&amp;gt;
   &amp;lt;/dependency&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Gradle&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.0.2'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Observações importantes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Versões inferiores a 2.0.0 da biblioteca não funcionam para Spring Boot 3&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;A dependência acima está relacionada com uma aplicação usando Spring Web, e não Spring WebFlux&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Após adicionar a dependência, realize um teste rodando a aplicação e acessando o endereço do Swagger:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://localhost:8080/swagger-ui/index.html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Exemplo: &lt;a href="https://github.com/willyancaetano/spring-boot-with-open-api" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://springdoc.org/v2/" rel="noopener noreferrer"&gt;https://springdoc.org/v2/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.baeldung.com/spring-boot-3-spring-6-new" rel="noopener noreferrer"&gt;https://www.baeldung.com/spring-boot-3-spring-6-new&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0" rel="noopener noreferrer"&gt;https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>spring</category>
      <category>openapi</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
