{"id":41790,"date":"2023-06-16T09:30:00","date_gmt":"2023-06-16T12:30:00","guid":{"rendered":"https:\/\/www.locaweb.com.br\/blog\/?p=41790"},"modified":"2024-07-30T17:37:30","modified_gmt":"2024-07-30T20:37:30","slug":"angular-conheca-boas-praticas-de-arquitetura-de-software","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/angular-conheca-boas-praticas-de-arquitetura-de-software\/","title":{"rendered":"Angular: conhe\u00e7a boas pr\u00e1ticas de arquitetura de software"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><em>Entenda quais s\u00e3o os padr\u00f5es mais indicados para projetos desenvolvidos em Angular.<\/em><\/p>\n\n\n\n<p>Angular \u00e9 um dos <strong>frameworks de desenvolvimento web mais populares e poderosos da atualidade<\/strong>. Utilizado para <strong>criar aplicativos<\/strong> web robustos e escal\u00e1veis, ele oferece v\u00e1rias ferramentas e recursos para desenvolver projetos que atendam \u00e0s necessidades dos usu\u00e1rios.<\/p>\n\n\n\n<p>No entanto, com um conjunto t\u00e3o amplo de recursos, \u00e9 f\u00e1cil perder a clareza e o foco do projeto e acabar adotando pr\u00e1ticas que dificultam a manuten\u00e7\u00e3o e a escalabilidade. \u00c9 a\u00ed que entram as chamadas boas pr\u00e1ticas.&nbsp;<\/p>\n\n\n\n<p><strong>Boas pr\u00e1ticas s\u00e3o t\u00e9cnicas, m\u00e9todos ou padr\u00f5es que s\u00e3o considerados eficazes e apropriados para determinado contexto ou tarefa.<\/strong><\/p>\n\n\n\n<p>Essas boas pr\u00e1ticas s\u00e3o desenvolvidas com base em experi\u00eancias e em estudos sobre o assunto e <strong>podem gerar uma s\u00e9rie de benef\u00edcios<\/strong>, como garantir que o trabalho seja feito de maneira eficiente e com qualidade, minimizar riscos e aumentar a seguran\u00e7a, bem como economizar tempo e evitar erros que poderiam causar atrasos ou retrabalho.&nbsp;<\/p>\n\n\n\n<p>Al\u00e9m das boas pr\u00e1ticas de programa\u00e7\u00e3o em geral, \u00e9 comum que cada linguagem ou framework tenha m\u00e9todos espec\u00edficos que deixem o desenvolvimento mais eficaz. Pensando nisso, <strong>listamos as melhores pr\u00e1ticas de arquitetura e constru\u00e7\u00e3o de formul\u00e1rios em Angular<\/strong>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 Angular e quais s\u00e3o as vantagens desse framework?<\/strong>&nbsp;<\/h2>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-01.jpg\" alt=\"Angular \u00e9 um dos principais frameworks para desenvolvimento de SPA\" class=\"wp-image-41794\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-01.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-01-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-01-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-01-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><figcaption class=\"wp-element-caption\">Angular \u00e9 um dos principais frameworks para desenvolvimento de SPA. (Fonte: Getty Images\/Reprodu\u00e7\u00e3o)&nbsp;<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Angular \u00e9 um framework de desenvolvimento web, de <strong>c\u00f3digo aberto<\/strong> e mantido pelo Google. Ele serve<strong> para construir aplica\u00e7\u00f5es web escal\u00e1veis e de alta performance<\/strong>, oferecendo recursos para o desenvolvimento de Single-Page Applications (SPAs) e aplica\u00e7\u00f5es com renderiza\u00e7\u00e3o do lado do servidor (Server-Side Rendering \u2014 SSR), semelhante ao que o Next.js faz.&nbsp;<\/p>\n\n\n\n<p>Uma das<strong> principais caracter\u00edsticas do Angular \u00e9 o sistema de vincula\u00e7\u00e3o de dados bidirecional<\/strong>. Com ele, \u00e9 poss\u00edvel atualizar a interface do usu\u00e1rio em tempo real, conforme o usu\u00e1rio fornece entrada de formul\u00e1rio. Isso permite interagir com a aplica\u00e7\u00e3o de forma mais din\u00e2mica e responsiva.&nbsp;<\/p>\n\n\n\n<p>Outra vantagem do Angular \u00e9 a<strong> arquitetura baseada em componentes reutiliz\u00e1veis<\/strong>. Isso significa que as <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/habilidades-para-ser-dev-full-stack\/\" target=\"_blank\" rel=\"noreferrer noopener\">pessoas desenvolvedoras<\/a> podem criar componentes individuais, como bot\u00f5es ou formul\u00e1rios, e os reutilizar em diferentes partes da aplica\u00e7\u00e3o, <strong>o que torna o desenvolvimento mais r\u00e1pido e eficiente<\/strong>, j\u00e1 que elimina a necessidade de criar componentes do zero em diferentes partes da aplica\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<p>O Angular tamb\u00e9m tem recursos para <strong>testes automatizados<\/strong>, o que ajuda a garantir que o aplicativo funcione corretamente e evita problemas no futuro. Al\u00e9m disso, ele tem <strong>arquitetura modular, que permite organizar<\/strong> <strong>o c\u00f3digo em pequenos m\u00f3dulos independentes<\/strong>. Isso torna o c\u00f3digo mais f\u00e1cil de entender e facilita a detec\u00e7\u00e3o de problemas.&nbsp;<\/p>\n\n\n\n<p>Por fim, o Angular \u00e9 um framework bem documentado e conta com uma grande <a href=\"https:\/\/blog.locaweb.com.br\/temas\/de-olho-no-digital\/importancia-das-comunidades-para-desenvolvedores\/\" target=\"_blank\" rel=\"noreferrer noopener\">comunidade de pessoas desenvolvedoras<\/a>, o que significa que quem vai programar em Angular pode encontrar suporte e recursos facilmente.&nbsp;<\/p>\n\n\n\n<p><em><a href=\"https:\/\/www.locaweb.com.br\/blog\/produtos\/hospedagem-de-sites\/tipos-hospedagem-de-sites\/\" target=\"_blank\" rel=\"noreferrer noopener\">+Tipos de Hospedagem de Sites: qual a melhor para o seu projeto?<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quais padr\u00f5es o Angular utiliza?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>O Angular utiliza uma <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/como-solid-pode-ajudar-a-programar\/\" target=\"_blank\" rel=\"noreferrer noopener\">s\u00e9rie de padr\u00f5es e pr\u00e1ticas<\/a> recomendadas para desenvolvimento de aplica\u00e7\u00f5es web. Um dos principais \u00e9 o padr\u00e3o de design Model-View-Controller (MVC), no qual ocorre a separa\u00e7\u00e3o da aplica\u00e7\u00e3o em tr\u00eas componentes principais: modelo (Model), visualiza\u00e7\u00e3o (View) e controlador (Controller). Isso ajuda a separar as preocupa\u00e7\u00f5es da aplica\u00e7\u00e3o e tornar o c\u00f3digo mais modular e reutiliz\u00e1vel.&nbsp;<\/p>\n\n\n\n<p>Outro padr\u00e3o utilizado pelo Angular \u00e9 o Observable. Ao utilizar esse padr\u00e3o, as pessoas desenvolvedoras <strong>podem escrever o c\u00f3digo que aguarda a conclus\u00e3o de uma chamada de API ou que responde a mudan\u00e7as em um formul\u00e1rio de forma mais simples e organizada<\/strong>.<\/p>\n\n\n\n<p>Ele tamb\u00e9m oferece recursos adicionais, como operadores de transforma\u00e7\u00e3o, inclusive suportando o cancelamento de fluxos de dados, o que \u00e9 particularmente \u00fatil para interromper a execu\u00e7\u00e3o de uma opera\u00e7\u00e3o que n\u00e3o \u00e9 mais necess\u00e1ria.&nbsp;<\/p>\n\n\n\n<p>O Angular tamb\u00e9m <strong>utiliza o padr\u00e3o Inje\u00e7\u00e3o de Depend\u00eancias<\/strong>, para facilitar a cria\u00e7\u00e3o de componentes independentes e reutiliz\u00e1veis, tornando a aplica\u00e7\u00e3o mais f\u00e1cil de entender e manter. Com isso, os componentes podem receber objetos e servi\u00e7os de outros componentes sem precisar criar uma inst\u00e2ncia diretamente.&nbsp;<\/p>\n\n\n\n<p><strong>Essas pr\u00e1ticas ajudam a manter a consist\u00eancia e a organiza\u00e7\u00e3o do c\u00f3digo<\/strong>, facilitando a colabora\u00e7\u00e3o entre as pessoas desenvolvedoras e a manuten\u00e7\u00e3o do c\u00f3digo no longo prazo.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Boas pr\u00e1ticas em arquitetura de projetos Angular<\/strong>&nbsp;<\/h2>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-02.jpg\" alt=\"Utilizar boas pr\u00e1ticas em Angular garante maior coes\u00e3o de c\u00f3digo e facilidade de manuten\u00e7\u00e3o\" class=\"wp-image-41795\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-02.jpg 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-02-500x308.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-02-768x473.jpg 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/06\/Angular-02-150x92.jpg 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><figcaption class=\"wp-element-caption\">Utilizar boas pr\u00e1ticas em Angular garante maior coes\u00e3o de c\u00f3digo e facilidade de manuten\u00e7\u00e3o. (Fonte: Getty Images\/Reprodu\u00e7\u00e3o)&nbsp;<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Uma das principais vantagens do Angular \u00e9 que ele <strong>oferece v\u00e1rias op\u00e7\u00f5es para uma arquitetura de projeto eficiente<\/strong>. Veja em seguida algumas das pr\u00e1ticas mais recomendadas ao desenvolver projetos nesse framework.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Divida o aplicativo em m\u00f3dulos menores<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Ao desenvolver um aplicativo Angular, \u00e9 importante <strong>considerar a escalabilidade e a manuten\u00e7\u00e3o em longo prazo<\/strong>. Uma das pr\u00e1ticas recomendadas para alcan\u00e7ar esses objetivos \u00e9 <strong>dividir o aplicativo em m\u00f3dulos menores<\/strong> e usar o lazy loading para carreg\u00e1-los conforme necess\u00e1rio.&nbsp;<\/p>\n\n\n\n<p>Um m\u00f3dulo \u00e9 um conjunto l\u00f3gico de componentes, servi\u00e7os e outros recursos relacionados que podem ser agrupados para formar uma funcionalidade espec\u00edfica do aplicativo.<\/p>\n\n\n\n<p>Dividir o aplicativo em m\u00f3dulos menores <strong>permite que as pessoas desenvolvedoras organizem melhor o c\u00f3digo<\/strong>, reduzam a complexidade e facilitem a manuten\u00e7\u00e3o.<\/p>\n\n\n\n<p>Cada m\u00f3dulo pode ser desenvolvido, testado e mantido separadamente, o que simplifica a colabora\u00e7\u00e3o em equipe e a integra\u00e7\u00e3o cont\u00ednua.&nbsp;<\/p>\n\n\n\n<p><strong>Usar o lazy loading<\/strong> significa carregar m\u00f3dulos somente quando eles s\u00e3o necess\u00e1rios, em vez de os carregar todos de uma vez no momento da inicializa\u00e7\u00e3o do aplicativo. Isso pode melhorar significativamente o desempenho, especialmente em casos em que existem muitos m\u00f3dulos ou a aplica\u00e7\u00e3o \u00e9 grande.&nbsp;<\/p>\n\n\n\n<p>Al\u00e9m disso, o lazy loading <strong>pode ser usado para carregar m\u00f3dulos com base em a\u00e7\u00f5es do usu\u00e1rio<\/strong>, como navega\u00e7\u00e3o para uma p\u00e1gina espec\u00edfica. Isso significa que o aplicativo s\u00f3 precisa carregar os recursos necess\u00e1rios para determinada p\u00e1gina em vez de carregar todos os recursos de uma s\u00f3 vez, o que ajuda a reduzir o tempo de carregamento e melhora a experi\u00eancia do usu\u00e1rio.\u00a0<\/p>\n\n\n\n<p><strong><em><a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noreferrer noopener\">Conhe\u00e7a o melhor provedor de hospedagem de sites e suas ofertas<\/a><\/em><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Siga as conven\u00e7\u00f5es de diret\u00f3rios e a padroniza\u00e7\u00e3o de nomenclaturas<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Um bom projeto tamb\u00e9m deve <strong>seguir as conven\u00e7\u00f5es recomendadas pela equipe do Angular<\/strong>. Isso inclui o uso de diret\u00f3rios padr\u00e3o, como \u201capp\u201d para o diret\u00f3rio raiz do aplicativo, \u201ccomponents\u201d para componentes, \u201cservices\u201d para servi\u00e7os e \u201cmodels\u201d para modelos.<\/p>\n\n\n\n<p>\u00c9 importante manter uma nomenclatura padr\u00e3o para os arquivos e as pastas do aplicativo, j\u00e1 que isso facilita o entendimento da estrutura do projeto e reduz o tempo necess\u00e1rio para encontrar recursos espec\u00edficos.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter 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 title=\"Arquitetura de software: por onde come\u00e7ar? | Locaweb\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/O6dQ48wlxt8?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<h2 class=\"wp-block-heading\"><strong>Tipos de formul\u00e1rio em Angular e boas pr\u00e1ticas<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Boas pr\u00e1ticas em formul\u00e1rios s\u00e3o essenciais para garantir uma experi\u00eancia do usu\u00e1rio positiva e evitar problemas de usabilidade. <strong>Em Angular, existem duas abordagens principais para lidar com formul\u00e1rios: template-driven e reativos<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Os do tipo <strong>template-driven s\u00e3o mais f\u00e1ceis de implementar<\/strong> e s\u00e3o ideais para formul\u00e1rios simples e com poucos campos. Eles<strong> usam o two-way data binding<\/strong>, o que significa que as altera\u00e7\u00f5es no modelo de dados s\u00e3o refletidas no formul\u00e1rio e vice-versa. No entanto, eles <strong>t\u00eam algumas limita\u00e7\u00f5es, como por exemplo dificuldades em testar a l\u00f3gica de valida\u00e7\u00e3o<\/strong> e tamb\u00e9m a falta de controle fino sobre as atualiza\u00e7\u00f5es.&nbsp;<\/p>\n\n\n\n<p>Por outro lado, <strong>os reativos s\u00e3o mais poderosos e flex\u00edveis e s\u00e3o recomendados para formul\u00e1rios mais complexos<\/strong>, com muitos campos ou valida\u00e7\u00f5es personalizadas. Eles s\u00e3o<strong> baseados em Observables<\/strong> e oferecem mais controle sobre as atualiza\u00e7\u00f5es e a l\u00f3gica de valida\u00e7\u00e3o. Al\u00e9m disso, <strong>esses formul\u00e1rios s\u00e3o mais f\u00e1ceis de testar do que os template-driven<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Independentemente do tipo de formul\u00e1rio que voc\u00ea escolher, h\u00e1 algumas boas pr\u00e1ticas que voc\u00ea pode seguir para garantir um c\u00f3digo limpo e manuten\u00edvel.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use nomes de vari\u00e1veis descritivos<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Ao criar um formul\u00e1rio, <strong>\u00e9 importante dar nomes descritivos \u00e0s vari\u00e1veis <\/strong>de cada um dos campos e dos valores.<\/p>\n\n\n\n<p>Esses nomes devem ser claros e identificar exatamente o que cada campo representa, para que seja f\u00e1cil para outras pessoas desenvolvedoras entenderem o que est\u00e1 acontecendo no c\u00f3digo.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use diretivas de formul\u00e1rio Angular<\/strong>&nbsp;<\/h3>\n\n\n\n<p>O Angular tem diversas diretivas de formul\u00e1rio que podem ajudar a <strong>simplificar a cria\u00e7\u00e3o e a valida\u00e7\u00e3o de formul\u00e1rios<\/strong>. Alguns exemplos incluem ngForm, ngModel, ngSubmit, ngControl e ngModelGroup.<\/p>\n\n\n\n<p>Essas diretivas permitem criar campos, vincular dados do modelo a esses campos, capturar e processar eventos de formul\u00e1rio e validar os dados inseridos por usu\u00e1rios.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use valida\u00e7\u00e3o de formul\u00e1rio<\/strong>&nbsp;<\/h3>\n\n\n\n<p>A valida\u00e7\u00e3o de formul\u00e1rio \u00e9 essencial para garantir que os dados inseridos por usu\u00e1rios sejam v\u00e1lidos e seguros. O Angular tem v\u00e1rias valida\u00e7\u00f5es de formul\u00e1rio pr\u00e9-constru\u00eddas, como required, minlength, maxlength, pattern e assim por diante.<\/p>\n\n\n\n<p>Essas valida\u00e7\u00f5es podem servir para verificar se os dados inseridos por usu\u00e1rios est\u00e3o no formato correto, se s\u00e3o obrigat\u00f3rios e se atendem a outros requisitos.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Personalize as mensagens de erro<\/strong>&nbsp;<\/h3>\n\n\n\n<p>\u00c9 importante <strong>personalizar as mensagens de erro para que sejam relevantes para o contexto do formul\u00e1rio<\/strong>. Isso ajuda os usu\u00e1rios a entender o que precisam corrigir e evitar frustra\u00e7\u00f5es desnecess\u00e1rias.<\/p>\n\n\n\n<p>\u00c9 poss\u00edvel personalizar as mensagens de erro com as diretivas de valida\u00e7\u00e3o do Angular e tamb\u00e9m \u00e9 poss\u00edvel format\u00e1-las para que fiquem visualmente atraentes e f\u00e1ceis de ler.&nbsp;<\/p>\n\n\n\n<p>Ao seguir essas boas pr\u00e1ticas, voc\u00ea garante que o seu projeto poder\u00e1 escalar de forma segura e eficiente.<\/p>\n\n\n\n<p>Al\u00e9m das boas pr\u00e1ticas de desenvolvimento, <strong>voc\u00ea precisa que sua aplica\u00e7\u00e3o esteja hospedada em um servidor confi\u00e1vel<\/strong>. Para isso, voc\u00ea pode <strong>contar com os servi\u00e7os da Locaweb<\/strong>.&nbsp;<\/p>\n\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>Conhe\u00e7a os nossos planos de hospedagem e lance hoje mesmo a sua aplica\u00e7\u00e3o Angular.<\/p><a class=\"user-cta\" style=\"background-color: #00acc8\n;\" href=\"https:\/\/bit.ly\/42LHCOS:;\" target=\"_blank\" rel=\"noopener\">Saiba mais<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Entenda quais s\u00e3o os padr\u00f5es mais indicados para projetos desenvolvidos em Angular. Angular \u00e9 um dos frameworks de desenvolvimento web mais populares e poderosos da atualidade. Utilizado para criar aplicativos web robustos e escal\u00e1veis, ele oferece v\u00e1rias ferramentas e recursos para desenvolver projetos que atendam \u00e0s necessidades dos usu\u00e1rios. No entanto, com um conjunto t\u00e3o [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":41793,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-41790","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/41790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=41790"}],"version-history":[{"count":6,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/41790\/revisions"}],"predecessor-version":[{"id":48137,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/41790\/revisions\/48137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/41793"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=41790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=41790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=41790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}