{"id":1285,"date":"2021-11-16T14:52:06","date_gmt":"2021-11-16T17:52:06","guid":{"rendered":"https:\/\/fcnuvem.com.br\/home\/?p=1285"},"modified":"2022-12-05T11:58:33","modified_gmt":"2022-12-05T14:58:33","slug":"blog-criando-documentacao-para-a-sua-api-com-o-swagger","status":"publish","type":"post","link":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/","title":{"rendered":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger"},"content":{"rendered":"\n<figure class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-1\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-730x205-FCnuvem-Swagger.png\" alt=\"\" data-id=\"1303\" data-full-url=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-730x205-FCnuvem-Swagger.png\" data-link=\"https:\/\/fcnuvem.com.br\/home\/?attachment_id=1303\" class=\"wp-image-1303\"\/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p><sub><strong>Autor:<\/strong>&nbsp;C\u00edcero&nbsp;Joasyo&nbsp;Mateus de Moura<\/sub><\/p>\n\n\n\n<p>Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API&nbsp;Rest&nbsp;utilizando o Spring Boot 2 e o&nbsp;Swagger&nbsp;2 na linguagem Java.&nbsp;<\/p>\n\n\n\n<p>Primeiramente vamos entender do que se trata essa ferramenta que nos auxilia&nbsp;a criar&nbsp;documenta\u00e7\u00e3o para os nossos servi\u00e7os fornecidos por&nbsp;APIs. O&nbsp;<a href=\"https:\/\/swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swagger<\/a>&nbsp;\u00e9 um projeto&nbsp;<em>open&nbsp;source<\/em>&nbsp;que contempla diversas ferramentas para documenta\u00e7\u00e3o, consumo e visualiza\u00e7\u00e3o de servi\u00e7os&nbsp;RESTful, entre essas ferramentas, temos o framework para&nbsp;documenta\u00e7\u00e3o leg\u00edvel de&nbsp;APIs, esse framework implementa a especifica\u00e7\u00e3o&nbsp;<a href=\"https:\/\/www.openapis.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAPI<\/a>, que \u00e9 uma linguagem para descri\u00e7\u00e3o de contratos de&nbsp;APIs&nbsp;REST. A&nbsp;OpenAPI&nbsp;define um formato JSON com campos padronizados, atrav\u00e9s de um JSON&nbsp;Schema&nbsp;para que voc\u00ea descreva recursos, modelo de dados,&nbsp;URIs,&nbsp;Content-Types, m\u00e9todos HTTP aceitos e c\u00f3digos de respostas.&nbsp;<\/p>\n\n\n\n<p>O framework do&nbsp;Swagger&nbsp;tem a implementa\u00e7\u00e3o em diversas linguagens de programa\u00e7\u00e3o e ao final fornece uma Interface de Usu\u00e1rio, o&nbsp;Swagger&nbsp;UI, para visualiza\u00e7\u00e3o interativa da documenta\u00e7\u00e3o gerada automaticamente.&nbsp;O projeto ainda possui o&nbsp;<a href=\"https:\/\/editor.swagger.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swagger&nbsp;Editor<\/a>, que \u00e9 uma ferramenta online, onde \u00e9 poss\u00edvel escrever com YAML toda a documenta\u00e7\u00e3o da sua API de forma interativa e sem muito trabalho e&nbsp;a terceira ferramenta no conjunto de projetos \u00e9 o&nbsp;<a href=\"https:\/\/swagger.io\/docs\/open-source-tools\/swagger-codegen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swagger&nbsp;Codegen<\/a>, que cria de forma autom\u00e1tica atrav\u00e9s da sua descri\u00e7\u00e3o em YAML, o esqueleto da API com documenta\u00e7\u00e3o em diversas linguagem de programa\u00e7\u00e3o, onde ainda \u00e9 poss\u00edvel gerar o c\u00f3digo do cliente que ir\u00e1 consumir o seu servi\u00e7o.&nbsp;<\/p>\n\n\n\n<p>O&nbsp;Swagger&nbsp;Editor \u00e9 muito bom para documentar sua&nbsp;APIs, mas a sua funcionalidade principal \u00e9 para quando voc\u00ea&nbsp;criar&nbsp;um novo projeto, pois \u00e9 poss\u00edvel definir toda a estrutura da sua API e gerar o c\u00f3digo em sua linguagem favorita para iniciar bem o seu projeto, com a documenta\u00e7\u00e3o embutida.&nbsp;<\/p>\n\n\n\n<p>Por\u00e9m nesse artigo&nbsp;vamos abordar a forma de como documentar uma API j\u00e1 existente, porque \u00e9 muito comum&nbsp;possuir uma API criada sem documenta\u00e7\u00e3o, para esse exemplo, vamos utilizar um projeto Spring Boot configurado com o&nbsp;Maven.&nbsp;<\/p>\n\n\n\n<p><strong>Criando a Documenta\u00e7\u00e3o na Pr\u00e1tica<\/strong>&nbsp;<\/p>\n\n\n\n<p>Como mencionado, vamos documentar uma API j\u00e1 existente que foi criada com Java,&nbsp;Maven&nbsp;e Spring Boot 2, esse m\u00e9todo que ser\u00e1 apresentado&nbsp;tamb\u00e9m pode ser realizado para novos projetos, caso voc\u00ea n\u00e3o queira utilizar o&nbsp;Swagger&nbsp;Editor.&nbsp;<\/p>\n\n\n\n<p>O primeiro passo \u00e9 adicionar as depend\u00eancias do&nbsp;Swagger&nbsp;ao arquivo&nbsp;<em>pom.xml<\/em><strong><em>&nbsp;<\/em><\/strong>para que o&nbsp;Maven&nbsp;possa baixar as bibliotecas necess\u00e1rias, para isso basta adicionar ao final do arquivo os seguintes itens (\u00e9 importante atentar-se que&nbsp;o&nbsp;Swagger&nbsp;para Spring est\u00e1 na vers\u00e3o 2.6.1):&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-14.png\" alt=\"\" class=\"wp-image-1306\"\/><\/figure>\n\n\n\n<p>O pr\u00f3ximo passo \u00e9 inicializar as configura\u00e7\u00f5es do&nbsp;Swagger, para isso basta criar uma classe no seu pacote de configura\u00e7\u00e3o do Spring e adicionar as&nbsp;<em>notations<\/em>&nbsp;do&nbsp;Swagger, nesse exemplo o nome da classe \u00e9&nbsp;<em>SwaggerConfiguracao<\/em>&nbsp;e possui o seguinte conte\u00fado:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"228\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-13.png\" alt=\"\" class=\"wp-image-1305\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-13.png 602w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-13-300x114.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>Dois pontos de aten\u00e7\u00e3o nesta classe: O&nbsp;primeiro \u00e9 o&nbsp;<em>basePackage<\/em>, que indica em&nbsp;qual pacote do seu projeto est\u00e3o os seus recursos&nbsp;ou&nbsp;<em>controllers<\/em>, que s\u00e3o as classes que&nbsp;exp\u00f5em os&nbsp;endpoints&nbsp;da sua API, o&nbsp;segundo \u00e9 o t\u00edtulo (<em>title<\/em>) e a descri\u00e7\u00e3o (<em>description<\/em>) da sua API, que ao final ir\u00e1 aparecer na sua documenta\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<p>Agora vamos para a parte da&nbsp;documenta\u00e7\u00e3o de um dos nosso&nbsp;<em>endpoints<\/em>, para esse exemplo irei documentar o&nbsp;<em>endpoint<\/em>&nbsp;que salva um novo usu\u00e1rio no banco de dados, por\u00e9m por quest\u00e3o de organiza\u00e7\u00e3o do nosso projeto e boas pr\u00e1ticas, \u00e9 preciso tomar as seguintes a\u00e7\u00f5es:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Dentro do pacote de recursos da nossa aplica\u00e7\u00e3o (<em>RestControllers<\/em>), vamos criar um&nbsp;subpacote, com o nome&nbsp;<em>swagger<\/em>, onde iremos criar as nossas interfaces que cont\u00e9m todo o c\u00f3digo do&nbsp;Swagger&nbsp;para gerar a documenta\u00e7\u00e3o.&nbsp;<\/li><\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li>Na interface vamos colocar todos os nossos m\u00e9todos da API relacionado ao usu\u00e1rio&nbsp;e depois na classe de recursos, vamos&nbsp;extender&nbsp;(<em>extends<\/em>) a nossa interface e como os m\u00e9todos j\u00e1 est\u00e3o implementados, j\u00e1 teremos a nossa documenta\u00e7\u00e3o funcionando.&nbsp;<\/li><\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li>Nessa a\u00e7\u00e3o \u00e9 apenas para atentar-se de&nbsp;que devemos criar os m\u00e9todos da nossa interface igual os nossos recursos, caso seja projeto existente&nbsp;com par\u00e2metros e retornos iguais, para que n\u00e3o haja problemas.&nbsp;<\/li><\/ol>\n\n\n\n<p>A princ\u00edpio a nossa interface tem o seguinte c\u00f3digo:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"97\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-12.png\" alt=\"\" class=\"wp-image-1304\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-12.png 602w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-12-300x48.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>No c\u00f3digo acima indicamos que o prefixo do nosso&nbsp;recurso s\u00e3o os&nbsp;usu\u00e1rios e a descri\u00e7\u00e3o do conjunto&nbsp;de&nbsp;&nbsp;<em>endpoints<\/em>.&nbsp;<\/p>\n\n\n\n<p>A seguir no c\u00f3digo abaixo&nbsp;vamos adicionar todas as&nbsp;<em>notations<\/em>&nbsp;do&nbsp;Swagger&nbsp;que s\u00e3o utilizadas&nbsp;para gerar uma&nbsp;documenta\u00e7\u00e3o b\u00e1sica do&nbsp;endpoint:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"143\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-15.png\" alt=\"\" class=\"wp-image-1307\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-15.png 602w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-15-300x71.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>O&nbsp;Swagger&nbsp;possui uma sintaxe bem f\u00e1cil de entender, principalmente para quem est\u00e1 acostumado com desenvolvimento Web, por\u00e9m vamos destacar alguns pontos importantes:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><em>ApiOperation:<\/em><\/strong>&nbsp;Indica qual \u00e9 a resposta do&nbsp;endpoint&nbsp;caso sucesso, nesse caso criamos um usu\u00e1rio e retornamos&nbsp;aos dados salvos (<em>UsuarioDTO.class<\/em>).&nbsp;<\/li><li><strong><em>Authorizations<\/em><\/strong><strong>:<\/strong>&nbsp;Indica os m\u00e9todos de autentica\u00e7\u00e3o para acessar sua API, aqui ela pode ter nenhum ou v\u00e1rios&nbsp;e pode assumir alguns valores como&nbsp;<em>basiAuth<\/em>,&nbsp;<em>BearerAuth<\/em>,&nbsp;<em>ApiKeyAuth<\/em>&nbsp;e&nbsp;<strong>outros.<\/strong>&nbsp;<\/li><li><strong><em>ApiResponses<\/em><\/strong><strong>:<\/strong>&nbsp;Nessa anota\u00e7\u00e3o indicamos todos os&nbsp;c\u00f3digos de retorno da nossa API, seguindo o conceito de&nbsp;RESTful, com a descri\u00e7\u00e3o que facilita para o usu\u00e1rio&nbsp;lembrando que isso \u00e9 o que ser\u00e1 exibido na documenta\u00e7\u00e3o.&nbsp;<\/li><\/ul>\n\n\n\n<p>Seguindo esse modelo, agora basta documentar os demais&nbsp;endpoints&nbsp;da sua API, conforme mais um modelo a seguir:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-16.png\" alt=\"\" class=\"wp-image-1308\"\/><\/figure>\n\n\n\n<p>Ao&nbsp;finalizar a documenta\u00e7\u00e3o de um&nbsp;<em>endpoint<\/em>,&nbsp;voc\u00ea&nbsp;poder\u00e1&nbsp;conferir como est\u00e1 ficando a sua documenta\u00e7\u00e3o atrav\u00e9s do&nbsp;Swagger&nbsp;UI, no momento em que executar o seu projeto, seja local ou em produ\u00e7\u00e3o, o&nbsp;Swagger&nbsp;ir\u00e1 criar automaticamente uma p\u00e1gina HTML, que poder\u00e1 ser acessada atrav\u00e9s do link do seu projeto, adicionando o&nbsp;final \/swagger-ui.html, dessa forma um exemplo seria&nbsp;<em>http:\/\/localhost:8080\/api\/swagger-ui.html:<\/em>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"334\" src=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-17.png\" alt=\"\" class=\"wp-image-1309\" srcset=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-17.png 602w, https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/image-17-300x166.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p><strong>Conclus\u00e3o<\/strong>&nbsp;<\/p>\n\n\n\n<p>O&nbsp;Swagger&nbsp;\u00e9 uma \u00f3tima plataforma para gerar documenta\u00e7\u00e3o para os seus servi\u00e7os que s\u00e3o oferecidos por API e a sua utiliza\u00e7\u00e3o tem crescido bastante, pois facilita e agiliza a gera\u00e7\u00e3o de contratos de API para o seu projeto.&nbsp;<\/p>\n\n\n\n<p>Nesse artigo utilizamos um exemplo escrito em Java, por\u00e9m para outras linguagens s\u00e3o seguidos os mesmos conceitos e a documenta\u00e7\u00e3o ser\u00e1 gerada da mesma forma, uma dica \u00e9 utilizar o&nbsp;Swagger&nbsp;Editor para verificar o modelo que \u00e9 gerado na linguagem em que deseja para o seu projeto.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0<\/p>\n","protected":false},"author":8,"featured_media":1310,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[94],"tags":[],"post_series":[],"class_list":["post-1285","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriais","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara<\/title>\n<meta name=\"description\" content=\"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara\" \/>\n<meta property=\"og:description\" content=\"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog da FCamara\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-16T17:52:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-05T14:58:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png\" \/>\n\t<meta property=\"og:image:width\" content=\"260\" \/>\n\t<meta property=\"og:image:height\" content=\"205\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"fcnuvem\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"fcnuvem\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\"},\"author\":{\"name\":\"fcnuvem\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a\"},\"headline\":\"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger\",\"datePublished\":\"2021-11-16T17:52:06+00:00\",\"dateModified\":\"2022-12-05T14:58:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\"},\"wordCount\":1247,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png\",\"articleSection\":[\"Tutoriais\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\",\"url\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\",\"name\":\"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara\",\"isPartOf\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png\",\"datePublished\":\"2021-11-16T17:52:06+00:00\",\"dateModified\":\"2022-12-05T14:58:33+00:00\",\"description\":\"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage\",\"url\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png\",\"contentUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png\",\"width\":260,\"height\":205},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/fcamara.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"aplicativo mobile\",\"item\":\"https:\/\/fcamara.com\/blog\/tags\/aplicativo-mobile\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fcamara.com\/blog\/#website\",\"url\":\"https:\/\/fcamara.com\/blog\/\",\"name\":\"Blog da FCamara\",\"description\":\"Esta \u00e9 a \u00e1rea de insights sobre o mercado de tecnologia.\",\"publisher\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fcamara.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fcamara.com\/blog\/#organization\",\"name\":\"Blog da FCamara\",\"url\":\"https:\/\/fcamara.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp\",\"contentUrl\":\"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp\",\"width\":459,\"height\":68,\"caption\":\"Blog da FCamara\"},\"image\":{\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a\",\"name\":\"fcnuvem\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"fcnuvem\"},\"url\":\"https:\/\/fcamara.com\/blog\/author\/fcnuvem\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara","description":"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/","og_locale":"pt_BR","og_type":"article","og_title":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara","og_description":"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0","og_url":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/","og_site_name":"Blog da FCamara","article_published_time":"2021-11-16T17:52:06+00:00","article_modified_time":"2022-12-05T14:58:33+00:00","og_image":[{"width":260,"height":205,"url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png","type":"image\/png"}],"author":"fcnuvem","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"fcnuvem","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#article","isPartOf":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/"},"author":{"name":"fcnuvem","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a"},"headline":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger","datePublished":"2021-11-16T17:52:06+00:00","dateModified":"2022-12-05T14:58:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/"},"wordCount":1247,"commentCount":0,"publisher":{"@id":"https:\/\/fcamara.com\/blog\/#organization"},"image":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage"},"thumbnailUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png","articleSection":["Tutoriais"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/","url":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/","name":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger - Blog da FCamara","isPartOf":{"@id":"https:\/\/fcamara.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage"},"image":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage"},"thumbnailUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png","datePublished":"2021-11-16T17:52:06+00:00","dateModified":"2022-12-05T14:58:33+00:00","description":"Nesse artigo vamos criar a documenta\u00e7\u00e3o leg\u00edvel de uma API\u00a0Rest\u00a0utilizando o Spring Boot 2 e o\u00a0Swagger\u00a02 na linguagem Java.\u00a0","breadcrumb":{"@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#primaryimage","url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png","contentUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2021\/11\/Thumb-Blog-FCnuvem-Swagger.png","width":260,"height":205},{"@type":"BreadcrumbList","@id":"https:\/\/fcamara.com\/blog\/blog-criando-documentacao-para-a-sua-api-com-o-swagger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/fcamara.com\/blog\/"},{"@type":"ListItem","position":2,"name":"aplicativo mobile","item":"https:\/\/fcamara.com\/blog\/tags\/aplicativo-mobile\/"},{"@type":"ListItem","position":3,"name":"Criando Documenta\u00e7\u00e3o para a sua API com o Swagger"}]},{"@type":"WebSite","@id":"https:\/\/fcamara.com\/blog\/#website","url":"https:\/\/fcamara.com\/blog\/","name":"Blog da FCamara","description":"Esta \u00e9 a \u00e1rea de insights sobre o mercado de tecnologia.","publisher":{"@id":"https:\/\/fcamara.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fcamara.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/fcamara.com\/blog\/#organization","name":"Blog da FCamara","url":"https:\/\/fcamara.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp","contentUrl":"https:\/\/fcamara.com\/blog\/wp-content\/uploads\/2024\/07\/FCamara-Blog-laranja.webp","width":459,"height":68,"caption":"Blog da FCamara"},"image":{"@id":"https:\/\/fcamara.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fcamara.com\/blog\/#\/schema\/person\/62d48659a26297896002e2434a44e28a","name":"fcnuvem","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"fcnuvem"},"url":"https:\/\/fcamara.com\/blog\/author\/fcnuvem\/"}]}},"lang":"br","translations":{"br":1285},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/comments?post=1285"}],"version-history":[{"count":1,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1285\/revisions"}],"predecessor-version":[{"id":6164,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/posts\/1285\/revisions\/6164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/media\/1310"}],"wp:attachment":[{"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/media?parent=1285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/categories?post=1285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/tags?post=1285"},{"taxonomy":"post_series","embeddable":true,"href":"https:\/\/fcamara.com\/blog\/wp-json\/wp\/v2\/post_series?post=1285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}