{"id":2172,"date":"2026-07-18T14:56:31","date_gmt":"2026-07-18T17:56:31","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=2172"},"modified":"2026-07-18T15:11:54","modified_gmt":"2026-07-18T18:11:54","slug":"projeto-javascript-para-iniciantes-criando-um-cadastro-de-veiculos-com-objetos","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=2172","title":{"rendered":"Projeto JavaScript para Iniciantes | Criando um Cadastro de Ve\u00edculos com Objetos"},"content":{"rendered":"\n<p>Voc\u00ea j\u00e1 percebeu que praticamente todos os sistemas possuem algum tipo de cadastro?<\/p>\n\n\n\n<p>Cadastro de clientes, produtos, funcion\u00e1rios, usu\u00e1rios, ve\u00edculos&#8230;<\/p>\n\n\n\n<p>Embora cada sistema tenha uma finalidade diferente, todos compartilham a mesma necessidade: <strong>organizar informa\u00e7\u00f5es de forma estruturada<\/strong>.<\/p>\n\n\n\n<p>\u00c9 exatamente nesse momento que os <strong>Objetos em JavaScript<\/strong> se tornam indispens\u00e1veis.<\/p>\n\n\n\n<p>Neste projeto vamos construir um <strong>Cadastro de Ve\u00edculos utilizando HTML, CSS e JavaScript<\/strong>, colocando em pr\u00e1tica tudo o que aprendemos sobre Objetos e entendendo como esse conceito \u00e9 utilizado em aplica\u00e7\u00f5es profissionais.<\/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>\ud83d\udcfa Live completa:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Objetos JavaScript na Pr\u00e1tica | Criando um Cadastro de Ve\u00edculos\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/L6Q2V8mnLms?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<p><em>(O v\u00eddeo editado ser\u00e1 disponibilizado em breve.)<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">O problema de trabalhar sem Objetos<\/h1>\n\n\n\n<p>Imagine um formul\u00e1rio com os seguintes campos:<\/p>\n\n\n\n<ul>\n<li>Marca<\/li>\n\n\n\n<li>Modelo<\/li>\n\n\n\n<li>Ano<\/li>\n\n\n\n<li>Cor<\/li>\n<\/ul>\n\n\n\n<p>Uma forma simples seria criar v\u00e1rias vari\u00e1veis independentes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const marca = \"Honda\";\nconst modelo = \"Civic\";\nconst ano = 2025;\nconst cor = \"Preto\";<\/code><\/pre>\n\n\n\n<p>Embora funcione, essa abordagem rapidamente se torna dif\u00edcil de organizar conforme o sistema cresce.<\/p>\n\n\n\n<p>Agora imagine um cadastro com:<\/p>\n\n\n\n<ul>\n<li>nome<\/li>\n\n\n\n<li>CPF<\/li>\n\n\n\n<li>telefone<\/li>\n\n\n\n<li>endere\u00e7o<\/li>\n\n\n\n<li>cidade<\/li>\n\n\n\n<li>estado<\/li>\n\n\n\n<li>CEP<\/li>\n<\/ul>\n\n\n\n<p>Ou ainda um sistema de estoque com dezenas de propriedades.<\/p>\n\n\n\n<p>Fica evidente que precisamos de uma forma melhor de agrupar essas informa\u00e7\u00f5es.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">A solu\u00e7\u00e3o: Objetos<\/h1>\n\n\n\n<p>Em vez de v\u00e1rias vari\u00e1veis independentes, agrupamos todas elas em um \u00fanico objeto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const veiculo = {\n    marca: \"Honda\",\n    modelo: \"Civic\",\n    ano: 2025,\n    cor: \"Preto\"\n};<\/code><\/pre>\n\n\n\n<p>Agora todas as informa\u00e7\u00f5es pertencem ao mesmo ve\u00edculo.<\/p>\n\n\n\n<p>Essa organiza\u00e7\u00e3o \u00e9 utilizada diariamente em aplica\u00e7\u00f5es Front-end e Back-end.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">O projeto desenvolvido<\/h1>\n\n\n\n<p>Neste projeto criamos um pequeno sistema de cadastro de ve\u00edculos.<\/p>\n\n\n\n<p>O usu\u00e1rio informa:<\/p>\n\n\n\n<ul>\n<li>Marca<\/li>\n\n\n\n<li>Modelo<\/li>\n\n\n\n<li>Ano<\/li>\n\n\n\n<li>Cor<\/li>\n<\/ul>\n\n\n\n<p>Ao clicar no bot\u00e3o <strong>Cadastrar<\/strong>, o JavaScript:<\/p>\n\n\n\n<ol>\n<li>captura os dados do formul\u00e1rio;<\/li>\n\n\n\n<li>cria um objeto;<\/li>\n\n\n\n<li>valida as informa\u00e7\u00f5es;<\/li>\n\n\n\n<li>atualiza a interface;<\/li>\n\n\n\n<li>apresenta um card com o ve\u00edculo cadastrado.<\/li>\n<\/ol>\n\n\n\n<p>Embora seja um projeto simples, ele utiliza exatamente os mesmos conceitos encontrados em aplica\u00e7\u00f5es maiores.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Capturando os elementos do HTML<\/h1>\n\n\n\n<p>Antes de trabalhar com os dados, precisamos capturar os elementos do formul\u00e1rio.<\/p>\n\n\n\n<p>Utilizamos JavaScript para obter o controle dos inputs e do bot\u00e3o de cadastro.<\/p>\n\n\n\n<p>Esse \u00e9 o primeiro passo para qualquer aplica\u00e7\u00e3o que interaja com o usu\u00e1rio.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Capturando os valores<\/h1>\n\n\n\n<p>Ter acesso ao elemento n\u00e3o significa possuir o valor digitado.<\/p>\n\n\n\n<p>Para isso utilizamos a propriedade:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>input.value<\/code><\/pre>\n\n\n\n<p>\u00c9 esse valor que ser\u00e1 utilizado para construir nosso objeto.<\/p>\n\n\n\n<p>Essa separa\u00e7\u00e3o entre <strong>elemento<\/strong> e <strong>valor<\/strong> \u00e9 um conceito muito importante para quem est\u00e1 come\u00e7ando.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Criando o Objeto<\/h1>\n\n\n\n<p>Depois da captura dos dados, constru\u00edmos nosso objeto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const veiculo = {\n    marca,\n    modelo,\n    ano,\n    cor\n};<\/code><\/pre>\n\n\n\n<p>Agora todas as informa\u00e7\u00f5es est\u00e3o organizadas em uma \u00fanica estrutura.<\/p>\n\n\n\n<p>Esse mesmo padr\u00e3o \u00e9 utilizado em APIs REST, aplica\u00e7\u00f5es React, Node.js, bancos NoSQL e diversos outros ambientes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Trabalhando com n\u00fameros<\/h1>\n\n\n\n<p>Os campos do formul\u00e1rio s\u00e3o capturados como texto.<\/p>\n\n\n\n<p>Quando precisamos trabalhar com n\u00fameros, realizamos a convers\u00e3o.<\/p>\n\n\n\n<p>No projeto utilizamos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Number(inputAno.value)<\/code><\/pre>\n\n\n\n<p>Esse detalhe evita problemas futuros quando for necess\u00e1rio realizar c\u00e1lculos ou compara\u00e7\u00f5es.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">A import\u00e2ncia da depura\u00e7\u00e3o<\/h1>\n\n\n\n<p>Um dos pontos mais importantes desta aula \u00e9 a forma como realizamos a depura\u00e7\u00e3o.<\/p>\n\n\n\n<p>Em vez de desenvolver toda a aplica\u00e7\u00e3o para testar apenas no final, fazemos pequenos testes durante o desenvolvimento.<\/p>\n\n\n\n<p>Esse h\u00e1bito reduz drasticamente o tempo gasto procurando erros.<\/p>\n\n\n\n<p>Para isso utilizamos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>console.log(veiculo);<\/code><\/pre>\n\n\n\n<p>e acompanhamos o resultado atrav\u00e9s do <strong>DevTools<\/strong> do navegador.<\/p>\n\n\n\n<p>Essa pr\u00e1tica \u00e9 utilizada por desenvolvedores profissionais diariamente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Atualizando a interface<\/h1>\n\n\n\n<p>Depois de validar os dados e criar o objeto, exibimos as informa\u00e7\u00f5es na tela.<\/p>\n\n\n\n<p>Durante essa etapa utilizamos recursos como:<\/p>\n\n\n\n<ul>\n<li>innerText<\/li>\n\n\n\n<li>innerHTML<\/li>\n\n\n\n<li>classList.remove()<\/li>\n<\/ul>\n\n\n\n<p>Esses comandos permitem atualizar dinamicamente a interface sem recarregar a p\u00e1gina.<\/p>\n\n\n\n<p>\u00c9 exatamente esse comportamento que encontramos em in\u00fameras aplica\u00e7\u00f5es web modernas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Tecnologias utilizadas<\/h1>\n\n\n\n<ul>\n<li>HTML5<\/li>\n\n\n\n<li>CSS3<\/li>\n\n\n\n<li>JavaScript<\/li>\n\n\n\n<li>Objetos<\/li>\n\n\n\n<li>DOM<\/li>\n\n\n\n<li>addEventListener()<\/li>\n\n\n\n<li>Number()<\/li>\n\n\n\n<li>innerText<\/li>\n\n\n\n<li>innerHTML<\/li>\n\n\n\n<li>console.log()<\/li>\n\n\n\n<li>DevTools<\/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\">O que voc\u00ea aprender\u00e1 neste projeto<\/h1>\n\n\n\n<p>Ao finalizar esta aula voc\u00ea ser\u00e1 capaz de:<\/p>\n\n\n\n<ul>\n<li>criar Objetos em JavaScript;<\/li>\n\n\n\n<li>capturar elementos do HTML;<\/li>\n\n\n\n<li>capturar valores dos formul\u00e1rios;<\/li>\n\n\n\n<li>organizar dados utilizando Objetos;<\/li>\n\n\n\n<li>validar informa\u00e7\u00f5es;<\/li>\n\n\n\n<li>converter valores utilizando Number();<\/li>\n\n\n\n<li>atualizar a interface dinamicamente;<\/li>\n\n\n\n<li>utilizar o DevTools para depura\u00e7\u00e3o;<\/li>\n\n\n\n<li>compreender um fluxo completo de cadastro.<\/li>\n<\/ul>\n\n\n\n<p>Mais importante do que decorar comandos \u00e9 entender como cada etapa participa da constru\u00e7\u00e3o de uma aplica\u00e7\u00e3o real.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">C\u00f3digo-fonte<\/h1>\n\n\n\n<p>GitHub do projeto:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/github.com\/marcoscaldas\/liveObjeto.git\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\">Conclus\u00e3o<\/h1>\n\n\n\n<p>Aprender Objetos apenas pela teoria costuma gerar muitas d\u00favidas.<\/p>\n\n\n\n<p>Quando colocamos esse conceito dentro de um projeto pr\u00e1tico, tudo come\u00e7a a fazer sentido.<\/p>\n\n\n\n<p>Neste cadastro de ve\u00edculos vimos como um formul\u00e1rio pode fornecer informa\u00e7\u00f5es para o JavaScript, como esses dados podem ser organizados em um objeto e como essa estrutura facilita a manipula\u00e7\u00e3o e a exibi\u00e7\u00e3o das informa\u00e7\u00f5es na tela.<\/p>\n\n\n\n<p>Esse \u00e9 exatamente o tipo de conhecimento que servir\u00e1 de base para tecnologias como React, Node.js, APIs REST, bancos de dados e diversas outras \u00e1reas do desenvolvimento.<\/p>\n\n\n\n<p>Continue praticando, fa\u00e7a melhorias no projeto, personalize a interface e experimente adicionar novas funcionalidades. \u00c9 desenvolvendo projetos que os conceitos deixam de ser apenas teoria e passam a fazer parte da sua forma de programar.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\ud83d\udcfa Aula completa no YouTube:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Objetos JavaScript na Pr\u00e1tica | Criando um Cadastro de Ve\u00edculos\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/L6Q2V8mnLms?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<p><br><\/p>\n\n\n\n<p><strong>\ud83d\udcbb C\u00f3digo-fonte:<\/strong><br><a>https:\/\/github.com\/marcoscaldas\/liveObjeto.git<\/a><\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>Em breve:<\/strong> o v\u00eddeo editado deste projeto ser\u00e1 adicionado a este artigo, oferecendo uma vers\u00e3o mais objetiva e focada para quem prefere aprender em poucos minutos.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea j\u00e1 percebeu que praticamente todos os sistemas possuem algum tipo de cadastro? Cadastro de clientes, produtos, funcion\u00e1rios, usu\u00e1rios, ve\u00edculos&#8230; Embora cada sistema tenha uma finalidade diferente, todos compartilham a mesma necessidade: organizar informa\u00e7\u00f5es de forma estruturada. \u00c9 exatamente nesse momento que os Objetos em JavaScript se tornam indispens\u00e1veis. Neste projeto vamos construir um Cadastro de Ve\u00edculos utilizando HTML, CSS e JavaScript, colocando em pr\u00e1tica tudo o que aprendemos sobre Objetos e entendendo como esse conceito \u00e9 utilizado em aplica\u00e7\u00f5es profissionais. Assista \u00e0 aula completa \ud83d\udcfa Live completa: (O v\u00eddeo editado ser\u00e1 disponibilizado em breve.) O problema de trabalhar sem Objetos Imagine um formul\u00e1rio com os seguintes campos: Uma forma simples seria criar v\u00e1rias vari\u00e1veis independentes. Embora funcione, essa abordagem rapidamente se torna dif\u00edcil de organizar conforme o sistema cresce. Agora imagine um cadastro com: Ou ainda um sistema de estoque com dezenas de propriedades. Fica evidente que precisamos de uma forma melhor de agrupar essas informa\u00e7\u00f5es. A solu\u00e7\u00e3o: Objetos Em vez de v\u00e1rias vari\u00e1veis independentes, agrupamos todas elas em um \u00fanico objeto. Agora todas as informa\u00e7\u00f5es pertencem ao mesmo ve\u00edculo. Essa organiza\u00e7\u00e3o \u00e9 utilizada diariamente em aplica\u00e7\u00f5es Front-end e Back-end. O projeto desenvolvido Neste projeto criamos um pequeno sistema de cadastro de ve\u00edculos. O usu\u00e1rio informa: Ao clicar no bot\u00e3o Cadastrar, o JavaScript: Embora seja um projeto simples, ele utiliza exatamente os mesmos conceitos encontrados em aplica\u00e7\u00f5es maiores. Capturando os elementos do HTML Antes de trabalhar com os dados, precisamos capturar os elementos do formul\u00e1rio. Utilizamos JavaScript para obter o controle dos inputs e do bot\u00e3o de cadastro. Esse \u00e9 o primeiro passo para qualquer aplica\u00e7\u00e3o que interaja com o usu\u00e1rio. Capturando os valores Ter acesso ao elemento n\u00e3o significa possuir o valor digitado. Para isso utilizamos a propriedade: \u00c9 esse valor que ser\u00e1 utilizado para construir nosso objeto. Essa separa\u00e7\u00e3o entre elemento e valor \u00e9 um conceito muito importante para quem est\u00e1 come\u00e7ando. Criando o Objeto Depois da captura dos dados, constru\u00edmos nosso objeto. Agora todas as informa\u00e7\u00f5es est\u00e3o organizadas em uma \u00fanica estrutura. Esse mesmo padr\u00e3o \u00e9 utilizado em APIs REST, aplica\u00e7\u00f5es React, Node.js, bancos NoSQL e diversos outros ambientes. Trabalhando com n\u00fameros Os campos do formul\u00e1rio s\u00e3o capturados como texto. Quando precisamos trabalhar com n\u00fameros, realizamos a convers\u00e3o. No projeto utilizamos: Esse detalhe evita problemas futuros quando for necess\u00e1rio realizar c\u00e1lculos ou compara\u00e7\u00f5es. A import\u00e2ncia da depura\u00e7\u00e3o Um dos pontos mais importantes desta aula \u00e9 a forma como realizamos a depura\u00e7\u00e3o. Em vez de desenvolver toda a aplica\u00e7\u00e3o para testar apenas no final, fazemos pequenos testes durante o desenvolvimento. Esse h\u00e1bito reduz drasticamente o tempo gasto procurando erros. Para isso utilizamos: e acompanhamos o resultado atrav\u00e9s do DevTools do navegador. Essa pr\u00e1tica \u00e9 utilizada por desenvolvedores profissionais diariamente. Atualizando a interface Depois de validar os dados e criar o objeto, exibimos as informa\u00e7\u00f5es na tela. Durante essa etapa utilizamos recursos como: Esses comandos permitem atualizar dinamicamente a interface sem recarregar a p\u00e1gina. \u00c9 exatamente esse comportamento que encontramos em in\u00fameras aplica\u00e7\u00f5es web modernas. Tecnologias utilizadas O que voc\u00ea aprender\u00e1 neste projeto Ao finalizar esta aula voc\u00ea ser\u00e1 capaz de: Mais importante do que decorar comandos \u00e9 entender como cada etapa participa da constru\u00e7\u00e3o de uma aplica\u00e7\u00e3o real. C\u00f3digo-fonte GitHub do projeto: Conclus\u00e3o Aprender Objetos apenas pela teoria costuma gerar muitas d\u00favidas. Quando colocamos esse conceito dentro de um projeto pr\u00e1tico, tudo come\u00e7a a fazer sentido. Neste cadastro de ve\u00edculos vimos como um formul\u00e1rio pode fornecer informa\u00e7\u00f5es para o JavaScript, como esses dados podem ser organizados em um objeto e como essa estrutura facilita a manipula\u00e7\u00e3o e a exibi\u00e7\u00e3o das informa\u00e7\u00f5es na tela. Esse \u00e9 exatamente o tipo de conhecimento que servir\u00e1 de base para tecnologias como React, Node.js, APIs REST, bancos de dados e diversas outras \u00e1reas do desenvolvimento. Continue praticando, fa\u00e7a melhorias no projeto, personalize a interface e experimente adicionar novas funcionalidades. \u00c9 desenvolvendo projetos que os conceitos deixam de ser apenas teoria e passam a fazer parte da sua forma de programar. \ud83d\udcfa Aula completa no YouTube: \ud83d\udcbb C\u00f3digo-fonte:https:\/\/github.com\/marcoscaldas\/liveObjeto.git Em breve: o v\u00eddeo editado deste projeto ser\u00e1 adicionado a este artigo, oferecendo uma vers\u00e3o mais objetiva e focada para quem prefere aprender em poucos minutos.<\/p>\n","protected":false},"author":1,"featured_media":2173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[21],"tags":[],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2172"}],"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=2172"}],"version-history":[{"count":4,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2172\/revisions"}],"predecessor-version":[{"id":2178,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2172\/revisions\/2178"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/2173"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}