{"id":2265,"date":"2026-08-03T11:33:58","date_gmt":"2026-08-03T14:33:58","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=2265"},"modified":"2026-08-03T11:37:41","modified_gmt":"2026-08-03T14:37:41","slug":"codigos-de-status-http-na-pratica-aprenda-200-201-400-401-403-404-422-e-500-criando-uma-api-com-node-js","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=2265","title":{"rendered":"C\u00f3digos de Status HTTP na Pr\u00e1tica: Aprenda 200, 201, 400, 401, 403, 404, 422 e 500 Criando uma API com Node.js"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Quando estamos desenvolvendo uma API REST, os c\u00f3digos de status HTTP s\u00e3o fundamentais para indicar ao cliente se uma requisi\u00e7\u00e3o foi executada com sucesso ou se ocorreu algum tipo de erro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apesar de parecerem simples, muitos desenvolvedores iniciantes utilizam os c\u00f3digos incorretamente, retornando sempre <strong>200 OK<\/strong> ou utilizando <strong>400 Bad Request<\/strong> para qualquer situa\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste artigo vamos construir uma API utilizando <strong>Node.js<\/strong> e <strong>Express<\/strong>, entender quando utilizar cada c\u00f3digo de status HTTP e aprender boas pr\u00e1ticas utilizadas em aplica\u00e7\u00f5es reais.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Assista \u00e0 aula completa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se preferir acompanhar todo o desenvolvimento passo a passo, assista \u00e0 aula completa no YouTube.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud83c\udfa5 Live completa:<\/strong><br><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"C\u00f3digos de Status HTTP na Pr\u00e1tica | Criando uma API Node.js e Testando no Thunder Client\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/Mn6c2bjSItg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">O que s\u00e3o Status HTTP?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Sempre que um navegador, aplicativo ou sistema faz uma requisi\u00e7\u00e3o para um servidor, este responde utilizando um c\u00f3digo HTTP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse c\u00f3digo informa ao cliente o resultado da opera\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A requisi\u00e7\u00e3o foi executada com sucesso?<\/li>\n\n\n\n<li>O usu\u00e1rio n\u00e3o possui autoriza\u00e7\u00e3o?<\/li>\n\n\n\n<li>O recurso n\u00e3o existe?<\/li>\n\n\n\n<li>Houve erro interno no servidor?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cada situa\u00e7\u00e3o possui um c\u00f3digo espec\u00edfico.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Principais categorias de Status HTTP<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Os c\u00f3digos s\u00e3o divididos em cinco grupos principais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1xx \u2014 Informativos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizados para informar que a requisi\u00e7\u00e3o foi recebida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00e3o pouco utilizados no desenvolvimento cotidiano.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2xx \u2014 Sucesso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Indicam que tudo ocorreu corretamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os mais comuns s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK<\/li>\n\n\n\n<li>201 Created<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3xx \u2014 Redirecionamento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizados quando um recurso foi movido ou redirecionado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>301<\/li>\n\n\n\n<li>302<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4xx \u2014 Erro do Cliente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O problema ocorreu na requisi\u00e7\u00e3o enviada pelo cliente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>400<\/li>\n\n\n\n<li>401<\/li>\n\n\n\n<li>403<\/li>\n\n\n\n<li>404<\/li>\n\n\n\n<li>422<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5xx \u2014 Erro do Servidor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O servidor encontrou um erro durante o processamento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>500 Internal Server Error<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 200 OK<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo <strong>200 OK<\/strong> deve ser utilizado quando a opera\u00e7\u00e3o foi executada com sucesso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Buscar usu\u00e1rios<\/li>\n\n\n\n<li>Listar produtos<\/li>\n\n\n\n<li>Consultar um cadastro<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>res.status(200).json(usuario);<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 201 Created<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Quando um novo recurso \u00e9 criado, o c\u00f3digo correto \u00e9 <strong>201 Created<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cadastro de um novo usu\u00e1rio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>res.status(201).json(novoUsuario);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Muitos desenvolvedores retornam <strong>200<\/strong>, mas o correto \u00e9 utilizar <strong>201<\/strong>, informando que um novo recurso foi criado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 400 Bad Request<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo <strong>400<\/strong> indica que a requisi\u00e7\u00e3o enviada possui informa\u00e7\u00f5es inv\u00e1lidas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JSON inv\u00e1lido<\/li>\n\n\n\n<li>Campo obrigat\u00f3rio ausente<\/li>\n\n\n\n<li>Formato incorreto<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>return res.status(400).json({\n    mensagem: \"Dados inv\u00e1lidos.\"\n});<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 401 Unauthorized<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizado quando o usu\u00e1rio ainda n\u00e3o foi autenticado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Token JWT inexistente ou inv\u00e1lido.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>return res.status(401).json({\n    mensagem: \"Token inv\u00e1lido.\"\n});<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 403 Forbidden<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Neste caso o usu\u00e1rio est\u00e1 autenticado, por\u00e9m n\u00e3o possui permiss\u00e3o para acessar determinado recurso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usu\u00e1rio comum tentando acessar uma \u00e1rea administrativa.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 404 Not Found<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O recurso solicitado n\u00e3o existe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Buscar um produto utilizando um ID inexistente.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>return res.status(404).json({\n    mensagem: \"Produto n\u00e3o encontrado.\"\n});<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 422 Unprocessable Entity<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Um dos c\u00f3digos mais esquecidos pelos iniciantes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O <strong>422<\/strong> \u00e9 utilizado quando os dados possuem formato correto, por\u00e9m n\u00e3o passam nas regras de neg\u00f3cio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Email inv\u00e1lido<\/li>\n\n\n\n<li>CPF inv\u00e1lido<\/li>\n\n\n\n<li>Senha muito pequena<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>return res.status(422).json({\n    mensagem: \"Email inv\u00e1lido.\"\n});<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Status 500 Internal Server Error<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Este c\u00f3digo representa um erro interno do servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma boa pr\u00e1tica importante \u00e9:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nunca retornar o erro real para o usu\u00e1rio.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Errado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"erro\": \"Cannot read property...\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Correto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"mensagem\": \"Erro interno do servidor.\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O erro verdadeiro deve ser registrado apenas nos logs da aplica\u00e7\u00e3o utilizando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>console.error(error);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ou ferramentas como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Winston<\/li>\n\n\n\n<li>Pino<\/li>\n\n\n\n<li>Morgan<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Testando a API com Thunder Client<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Durante a aula utilizamos o Thunder Client para testar todas as rotas da API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Foram simuladas situa\u00e7\u00f5es reais para demonstrar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sucesso (200)<\/li>\n\n\n\n<li>cria\u00e7\u00e3o (201)<\/li>\n\n\n\n<li>dados inv\u00e1lidos (400)<\/li>\n\n\n\n<li>autentica\u00e7\u00e3o (401)<\/li>\n\n\n\n<li>autoriza\u00e7\u00e3o (403)<\/li>\n\n\n\n<li>recurso inexistente (404)<\/li>\n\n\n\n<li>valida\u00e7\u00e3o (422)<\/li>\n\n\n\n<li>erro interno (500)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esse tipo de teste facilita muito o desenvolvimento de APIs REST.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Boas pr\u00e1ticas<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Durante o desenvolvimento procure sempre:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>utilizar o c\u00f3digo HTTP correto;<\/li>\n\n\n\n<li>nunca retornar erros internos para o cliente;<\/li>\n\n\n\n<li>validar dados tanto no frontend quanto no backend;<\/li>\n\n\n\n<li>utilizar logs para registrar erros;<\/li>\n\n\n\n<li>testar todas as rotas antes da publica\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Essas pr\u00e1ticas tornam a API mais segura, organizada e f\u00e1cil de manter.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Conclus\u00e3o<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Entender os c\u00f3digos de status HTTP \u00e9 um dos conhecimentos mais importantes para qualquer desenvolvedor backend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais do que decorar n\u00fameros, \u00e9 fundamental compreender <strong>quando utilizar cada c\u00f3digo<\/strong> para criar APIs REST padronizadas e profissionais.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea est\u00e1 aprendendo Node.js, Express ou desenvolvimento de APIs, dominar esses c\u00f3digos far\u00e1 diferen\u00e7a na qualidade dos seus projetos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando estamos desenvolvendo uma API REST, os c\u00f3digos de status HTTP s\u00e3o fundamentais para indicar ao cliente se uma requisi\u00e7\u00e3o foi executada com sucesso ou se ocorreu algum tipo de erro. Apesar de parecerem simples, muitos desenvolvedores iniciantes utilizam os c\u00f3digos incorretamente, retornando sempre 200 OK ou utilizando 400 Bad Request para qualquer situa\u00e7\u00e3o. Neste artigo vamos construir uma API utilizando Node.js e Express, entender quando utilizar cada c\u00f3digo de status HTTP e aprender boas pr\u00e1ticas utilizadas em aplica\u00e7\u00f5es reais. Assista \u00e0 aula completa Se preferir acompanhar todo o desenvolvimento passo a passo, assista \u00e0 aula completa no YouTube. \ud83c\udfa5 Live completa: O que s\u00e3o Status HTTP? Sempre que um navegador, aplicativo ou sistema faz uma requisi\u00e7\u00e3o para um servidor, este responde utilizando um c\u00f3digo HTTP. Esse c\u00f3digo informa ao cliente o resultado da opera\u00e7\u00e3o. Por exemplo: Cada situa\u00e7\u00e3o possui um c\u00f3digo espec\u00edfico. Principais categorias de Status HTTP Os c\u00f3digos s\u00e3o divididos em cinco grupos principais. 1xx \u2014 Informativos Utilizados para informar que a requisi\u00e7\u00e3o foi recebida. S\u00e3o pouco utilizados no desenvolvimento cotidiano. 2xx \u2014 Sucesso Indicam que tudo ocorreu corretamente. Os mais comuns s\u00e3o: 3xx \u2014 Redirecionamento Utilizados quando um recurso foi movido ou redirecionado. Exemplo: 4xx \u2014 Erro do Cliente O problema ocorreu na requisi\u00e7\u00e3o enviada pelo cliente. Exemplos: 5xx \u2014 Erro do Servidor O servidor encontrou um erro durante o processamento. Exemplo: Status 200 OK O c\u00f3digo 200 OK deve ser utilizado quando a opera\u00e7\u00e3o foi executada com sucesso. Exemplo: Status 201 Created Quando um novo recurso \u00e9 criado, o c\u00f3digo correto \u00e9 201 Created. Exemplo: Cadastro de um novo usu\u00e1rio. Muitos desenvolvedores retornam 200, mas o correto \u00e9 utilizar 201, informando que um novo recurso foi criado. Status 400 Bad Request O c\u00f3digo 400 indica que a requisi\u00e7\u00e3o enviada possui informa\u00e7\u00f5es inv\u00e1lidas. Exemplos: Status 401 Unauthorized Utilizado quando o usu\u00e1rio ainda n\u00e3o foi autenticado. Exemplo: Token JWT inexistente ou inv\u00e1lido. Status 403 Forbidden Neste caso o usu\u00e1rio est\u00e1 autenticado, por\u00e9m n\u00e3o possui permiss\u00e3o para acessar determinado recurso. Exemplo: Usu\u00e1rio comum tentando acessar uma \u00e1rea administrativa. Status 404 Not Found O recurso solicitado n\u00e3o existe. Exemplo: Buscar um produto utilizando um ID inexistente. Status 422 Unprocessable Entity Um dos c\u00f3digos mais esquecidos pelos iniciantes. O 422 \u00e9 utilizado quando os dados possuem formato correto, por\u00e9m n\u00e3o passam nas regras de neg\u00f3cio. Exemplo: Status 500 Internal Server Error Este c\u00f3digo representa um erro interno do servidor. Uma boa pr\u00e1tica importante \u00e9: Nunca retornar o erro real para o usu\u00e1rio. Errado: Correto: O erro verdadeiro deve ser registrado apenas nos logs da aplica\u00e7\u00e3o utilizando: ou ferramentas como: Testando a API com Thunder Client Durante a aula utilizamos o Thunder Client para testar todas as rotas da API. Foram simuladas situa\u00e7\u00f5es reais para demonstrar: Esse tipo de teste facilita muito o desenvolvimento de APIs REST. Boas pr\u00e1ticas Durante o desenvolvimento procure sempre: Essas pr\u00e1ticas tornam a API mais segura, organizada e f\u00e1cil de manter. Conclus\u00e3o Entender os c\u00f3digos de status HTTP \u00e9 um dos conhecimentos mais importantes para qualquer desenvolvedor backend. Mais do que decorar n\u00fameros, \u00e9 fundamental compreender quando utilizar cada c\u00f3digo para criar APIs REST padronizadas e profissionais. Se voc\u00ea est\u00e1 aprendendo Node.js, Express ou desenvolvimento de APIs, dominar esses c\u00f3digos far\u00e1 diferen\u00e7a na qualidade dos seus projetos.<\/p>\n","protected":false},"author":1,"featured_media":2266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-2265","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript"],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2265"}],"version-history":[{"count":3,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2265\/revisions"}],"predecessor-version":[{"id":2270,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2265\/revisions\/2270"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/2266"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}