{"id":18750,"date":"2023-07-31T22:16:02","date_gmt":"2023-08-01T01:16:02","guid":{"rendered":"https:\/\/portifolioos-prontos.com\/?post_type=product&#038;p=18750"},"modified":"2025-08-03T16:02:41","modified_gmt":"2025-08-03T19:02:41","slug":"aula-pratica-programacao-web","status":"publish","type":"product","link":"https:\/\/portifolioos-prontos.com\/index.php\/product\/aula-pratica-programacao-web\/","title":{"rendered":"Aula pr\u00e1tica Programa\u00e7\u00e3o Web"},"content":{"rendered":"<h3>Aula pr\u00e1tica Programa\u00e7\u00e3o Web<\/h3>\n<p>ROTEIRO DE AULA PR\u00c1TICA<br \/>\nNOME DA DISCIPLINA: Programa\u00e7\u00e3o Web<br \/>\nOBJETIVOS<br \/>\nDefini\u00e7\u00e3o dos objetivos da aula pr\u00e1tica:<br \/>\n\uf0b7 Criar projeto Spring Boot Java<br \/>\n\uf0b7 Implementar modelo de dom\u00ednio<br \/>\n\uf0b7 Estruturar camadas l\u00f3gicas: resource, service, repository<br \/>\n\uf0b7 Configurar banco de dados de teste (H2)<br \/>\n\uf0b7 Povoar o banco de dados<br \/>\n\uf0b7 CRUD &#8211; Create, Retrieve, Update, Delete<br \/>\n\uf0b7 Tratamento de exce\u00e7\u00f5es<br \/>\nINFRAESTRUTURA<br \/>\nInstala\u00e7\u00f5es:<br \/>\nSpring Tools 4. Postman.<br \/>\nMateriais de consumo:<br \/>\nDescri\u00e7\u00e3o: N\u00e3o se aplica.<br \/>\nQuantidade de materiais<br \/>\npor<br \/>\nprocedimento\/atividade<br \/>\nSoftware:<br \/>\nSim ( x ) N\u00e3o ( )<br \/>\nEm caso afirmativo, qual?<br \/>\nPago ( ) N\u00e3o Pago ( x )<br \/>\nTipo de Licen\u00e7a: community<br \/>\nDescri\u00e7\u00e3o do software:<br \/>\nO Spring Tool Suite \u00e9 uma IDE baseada em Eclipse, sendo utilizada para realizar projetos<br \/>\nutilizando Spring Boot. Spring Tool se trata de uma IDE que j\u00e1 vem com os plugins da Spring que<br \/>\nfacilitam o desenvolvimento com o ecosistema spring.<br \/>\nPostman \u00e9 um aplicativo usado para testes de API. \u00c9 um client HTTP que testa requisi\u00e7\u00f5es HTTP,<br \/>\nutilizando uma interface gr\u00e1fica com o usu\u00e1rio, atrav\u00e9s da qual obtemos diferentes tipos de<br \/>\nrespostas que precisam ser posteriormente validadas.<br \/>\nEquipamento de Prote\u00e7\u00e3o Individual (EPI):<br \/>\n&#8211; NSA<br \/>\nPROCEDIMENTOS PR\u00c1TICOS<\/p>\n<p>Atividade proposta:<br \/>\nCriar um projeto utilizando o framework Spring para o gerenciamento de usu\u00e1rios de um sistema. Se tratar\u00e1 de um<br \/>\nprojeto backend baseado em Rest API, ou seja, ser\u00e3o disponibilizados os endpoints necess\u00e1rios para realizar as<br \/>\nopera\u00e7\u00f5es de gerenciamento de usu\u00e1rios (CRUD). O projeto ser\u00e1 MVC e ser\u00e1 necess\u00e1rio realizar o modelo logico para<br \/>\na cria\u00e7\u00e3o da base de dados, bem como a conex\u00e3o com o mesmo. Al\u00e9m da logica base, ser\u00e1 necess\u00e1rio realizar os<br \/>\ntratamentos de exce\u00e7\u00f5es.<br \/>\nProcedimentos para a realiza\u00e7\u00e3o da atividade:<br \/>\nPara a realiza\u00e7\u00e3o desta aula pratica voc\u00ea ir\u00e1 precisar utilizar um editor de texto, recomend\u00e1vel o Eclipse com<br \/>\nSpring Tool: https:\/\/spring.io\/tools.<br \/>\nAdemais, voc\u00ea precisar\u00e1:<br \/>\n\u2022 Ter o Postman instalado: https:\/\/www.postman.com\/downloads\/<br \/>\n\u2022 Ter Git instalado: https:\/\/git-scm.com\/downloads (caso queira versionar o seu projeto e\/ou salvar na<br \/>\nnuvem)<br \/>\n1. Crie o projeto base com a estrutura Spring a partir do seguinte link: https:\/\/start.spring.io\/<br \/>\n\uf0a7 Selecione as seguintes op\u00e7\u00f5es:<br \/>\n\uf0b7 Maven<br \/>\n\uf0b7 Java, vers\u00e3o 17<br \/>\n\uf0b7 Vers\u00e3o do Spring: 3.0.0<br \/>\n\uf0b7 JAR packaging<br \/>\n\uf0b7 Add dependencies: Spring Web<br \/>\n2. Clique em \u201cgenerate\u201d. Descompacte o projeto que foi baixado no seu workspace.<br \/>\n3. Abra o Spring Tool Suite e escolha seu workspace.<br \/>\n\uf0a7 Em \u201cFile &gt; Import &gt; Maven &gt; Existing Maven projects\u201d: escolha a pasta do projeto base<br \/>\ngerado nos passos 1 e 2. Selecione o arquivo pom.xml que aparecer\u00e1 e clique em \u201cFinish\u201d.<br \/>\n4. Em src\/main\/java, crie um pacote \u201centities\u201d e dentro dele crie a classe User.<br \/>\n\uf0a7 Crie os atributos b\u00e1sicos: id, nome, e-mail, telefone, password.<br \/>\n\uf0a7 Crie um construtor vazio e um construtor usando todos os atributos (campos).<br \/>\n\uf0a7 Crie os getters e setters.<br \/>\n\uf0a7 Gere a implementa\u00e7\u00e3o para o m\u00e9todo hashCode() e equals() (bot\u00e3o direito &gt; source &gt;<br \/>\ngenerate hashCode&#8230;).<br \/>\n\uf0a7 Fa\u00e7a com que sua classe implemente a interface Serializable e crie o atributo<br \/>\nserialVersionUID (ele vai ser \u00fatil caso seja necess\u00e1rio salvar o objeto em um arquivo etc.)<\/p>\n<p>\uf0a7 Adicione a esta classe as seguintes annotations: \uf0b7 @Entity \uf0b7 @Table(name = &#8220;tb_user&#8221;) 5. Em src\/main\/java, crie um pacote \u201cresource\u201d e dentro dele crie a classe UserResource (esta classe ira ser o nosso controller) \uf0a7 Adicione as seguintes annotations: \uf0b7 @RestController \uf0b7 @RequestMapping(value = &#8220;\/users&#8221;) 6. Nosso banco de dados ser\u00e1 o H2 que \u00e9 um banco de dados relacional que pode ser executado no modo cliente-servidor. Iremos utilizar JPA para persistir os dados. Vamos ent\u00e3o configurar nosso projeto para incluir a depend\u00eancia destes dois recursos: \uf0a7 Para isto adicione as seguintes depend\u00eancias no arquivo pom.xml: org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime 7. Em src\/main\/resources, crie o arquivo application.properties (ele nos servir\u00e1 para armazenar propriedades de escopo do aplicativo): \uf0a7 Adicione as seguintes linhas: spring.profiles.active=test spring.jpa.open-in-view=true 8. Em src\/main\/resources, crie o arquivo application-test.properties (ele nos servir\u00e1 para armazenar propriedades de escopo do aplicativo para a realiza\u00e7\u00e3o dos testes locais): \uf0a7 Adicione as seguintes linhas: spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.username=sa spring.datasource.password= spring.h2.console.enabled=true spring.h2.console.path=\/h2-console spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true 9. Em src\/main\/java, crie um pacote \u201crepositories\u201d e dentro dele crie a interface UserRepository. \uf0a7 Estenda a classe JpaRepository e passe como defini\u00e7\u00e3o ao JpaRepository a entidade \u201cUser\u201d e o tipo da chave primaria (id): \uf0b7 JpaRepository&lt;User, Long&gt; 10. Crie uma classe de configura\u00e7\u00e3o que ir\u00e1 rodar toda vez que executarmos o projeto no modo teste. Ela ir\u00e1 nos servir para popular alguns dados no banco em tempo de execu\u00e7\u00e3o (o H2 \u00e9 um banco de dados em mem\u00f3ria, portanto quando a aplica\u00e7\u00e3o for finalizada seus dados deixar\u00e3o de existir).<\/p>\n<p>\uf0a7 Em src\/main\/java, crie um pacote \u201cconfig\u201d e dentro dele crie a classe TestConfig que ir\u00e1<br \/>\nimplementar a interface CommandLineRunner.<br \/>\n\uf0a7 Vamos injetar um atributo do tipo UserRepository \u00e0 esta classe utilizando a annotation<br \/>\n@Autowired.<br \/>\n\uf0a7 Implemente o m\u00e9todo run, adicionando as seguintes linhas:<br \/>\nUser u1 = new User(null, &#8220;Maria Brown&#8221;, &#8220;maria@gmail.com&#8221;, &#8220;988888888&#8221;, &#8220;123456&#8221;);<br \/>\nUser u2 = new User(null, &#8220;Alex Green&#8221;, &#8220;alex@gmail.com&#8221;, &#8220;977777777&#8221;, &#8220;123456&#8221;);<br \/>\nuserRepository.saveAll(Arrays.asList(u1, u2));<br \/>\n11. Em src\/main\/java, crie um pacote \u201cservices\u201d e dentro dele crie a interface UserService, utilize nesta<br \/>\nclasse a annotation @Service.<br \/>\n\uf0a7 Injete um atributo do tipo UserRepository \u00e0 esta classe utilizando a annotation @Autowired.<br \/>\n\uf0a7 Crie os seguintes m\u00e9todos e implemente cada um deles:<br \/>\n\uf0b7 findAll<br \/>\n\uf0b7 findById<br \/>\n\uf0b7 insert<br \/>\n\uf0b7 delete<br \/>\n\uf0b7 update<br \/>\n12. Em src\/main\/java\/resources, na classe UserResource, injete um atributo do tipo UserService \u00e0 esta<br \/>\nclasse utilizando a annotation @Autowired. Em seguida, implemente as seguintes rotas:<br \/>\n\uf0b7 findAll (GET)<br \/>\n\uf0b7 findById (GET)<br \/>\n\uf0b7 insert (POST)<br \/>\n\uf0b7 delete (DELETE)<br \/>\n\uf0b7 update (PUT)<br \/>\n13. Em src\/main\/java\/service, crie um pacote \u201cexceptions\u201d e dentro dele crie a classe<br \/>\nResourceNotFoundException.<br \/>\n\uf0a7 Estenda a classe RuntimeException.<br \/>\n\uf0a7 Implemente o construtor da classe fazendo a chamada para o construtor pai, passando uma<br \/>\nmensagem personalizada.<br \/>\n14. Em src\/main\/java\/resources, crie um pacote \u201cexceptions\u201d e dentro dele crie as seguintes classes:<br \/>\n\uf0a7 StandardError.<br \/>\n\uf0a7 ResourceExceptionHandler.<br \/>\n15. Em StandardError:<br \/>\n\uf0a7 Crie os atributos b\u00e1sicos: timestamp, status, error, message, path.<br \/>\n\uf0a7 Crie um construtor vazio e um construtor usando todos os atributos (campos).<br \/>\n\uf0a7 Crie os getters e setters.<br \/>\n\uf0a7 Fa\u00e7a com que sua classe implemente a interface Serializable e crie o atributo<br \/>\nserialVersionUID (ele vai ser \u00fatil caso seja necess\u00e1rio salvar o objeto em um arquivo etc.)<br \/>\n16. Em ResourceExceptionHandler:<br \/>\n\uf0a7 Adicione a seguinte anota\u00e7\u00e3o \u00e0 classe: @ControllerAdvice. Vai servir pra interceptar a<br \/>\nexce\u00e7\u00e3o lan\u00e7ada quando n\u00e3o for encontrado um usu\u00e1rio.<\/p>\n<p>\uf0a7 Crie o m\u00e9todo resourceNotFound: ele retornar\u00e1 um objeto do tipo ResponseEntity e dever\u00e1 receber como par\u00e2metro o objeto ResourceNotFoundException. \uf0a7 Adicione a anota\u00e7\u00e3o @ExceptionHandler(ResourceNotFoundException.class) ao m\u00e9todo criado. \uf0a7 Na implementa\u00e7\u00e3o do m\u00e9todo, al\u00e9m de passar uma mensagem customizada, \u00e9 interessante mudar o c\u00f3digo de erro da exce\u00e7\u00e3o, passando o tipo HttpStatus status = HttpStatus.NOT_FOUND; 17. Em src\/main\/java\/services, na classe UserService, modifique os m\u00e9todos findById, delete e update adicionando um try\/catch que lance a exce\u00e7\u00e3o do tipo ResourceNotFoundException. 18. Teste a aplica\u00e7\u00e3o utilizando o postman.<\/p>\n<p>Checklist:<br \/>\n\uf0b7 Utiliza\u00e7\u00e3o de um editor de c\u00f3digo sugerido neste documento;<br \/>\n\uf0b7 Instala\u00e7\u00e3o do Postman e do Git (opcional);<br \/>\n\uf0b7 Cria\u00e7\u00e3o do projeto base;<br \/>\n\uf0b7 Adi\u00e7\u00e3o das depend\u00eancias e implementa\u00e7\u00e3o das properties.<br \/>\n\uf0b7 Implementa\u00e7\u00e3o das classes: User, UserResource e UserService.<br \/>\n\uf0b7 Implementa\u00e7\u00e3o da interface UserRepository.<br \/>\n\uf0b7 Implementa\u00e7\u00e3o das classes e mecanismo de exce\u00e7\u00e3o.<br \/>\n\uf0b7 Configura\u00e7\u00e3o da aplica\u00e7\u00e3o para testes.<br \/>\n\uf0b7 Teste da aplica\u00e7\u00e3o com a ferramenta postman.<br \/>\nRESULTADOS<br \/>\nUma pasta com arquivos que contenha a estrutura do projeto como informado na descri\u00e7\u00e3o da atividade, ou seja,<br \/>\nos seguintes arquivos com extens\u00e3o java: User, UserResource, UserService, UserRepository,<br \/>\nResourceExceptionHandler, StandardError, ResourceNotFoundException e TestConfig.<\/p>\n<div class=\"elementor-toggle-item\">\n<div class=\"elementor-toggle-item\">\n<p id=\"elementor-tab-title-1941\" class=\"elementor-tab-title elementor-active\" tabindex=\"0\" role=\"tab\" data-tab=\"1\" aria-controls=\"elementor-tab-content-1941\" aria-expanded=\"true\" aria-selected=\"true\"><strong>Como funciona?<\/strong><\/p>\n<p>Elaboramos os portf\u00f3lios, j\u00e1 deixamos prontos, nas normas da ABNT e conforme os requisitos da universidade. F\u00e1cil assim! O MELHOR \u00c9 QUE VOC\u00ca COMPRA E J\u00c1 BAIXA NA HORA O SEU ARQUIVO EM WORD! Sabemos que conciliar trabalho, fam\u00edlia, vida profissional e estudos \u00e9 dif\u00edcil hoje em dia, por isso, estamos aqui para ajudar voc\u00ea. Conte com nossa qualidade, experi\u00eancia e profissionalismo adquirindo seu portf\u00f3lio conosco. GARANTIMOS SEU CONCEITO!<\/p>\n<p><strong>Como se realizam os envios?<\/strong><\/p>\n<\/div>\n<p id=\"elementor-tab-content-1942\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"2\" aria-labelledby=\"elementor-tab-title-1942\">O seu trabalho \u00e9 disponibilizado pronto, respondido e nas normas j\u00e1 na mesma hora aqui em nosso site na sua \u00e1rea de downloads e tamb\u00e9m no seu e-mail.<\/p>\n<p><strong>Em quanto tempo recebo o portf\u00f3lio?<\/strong><\/p>\n<p>Os envios s\u00e3o imediatos. Ap\u00f3s sua compra, o trabalho j\u00e1 \u00e9 disponibilizado instantaneamente aqui em nosso site e no seu e-mail.<\/p>\n<p><strong>E se o portf\u00f3lio que comprei precisar de corre\u00e7\u00e3o?<\/strong><\/p>\n<p>Caso haja alguma solicita\u00e7\u00e3o de corre\u00e7\u00e3o\/altera\u00e7\u00e3o por parte do tutor, basta entrar em contato conosco pelo\u00a0WhatsApp\u00a0que provid\u00eanciaremos sem custo algum.<\/p>\n<p><strong>Qual o formato do arquivo?<\/strong><\/p>\n<p>Os arquivos s\u00e3o enviados em formato Word e s\u00e3o edit\u00e1veis.<\/p>\n<p><strong>Caso eu tiver alguma d\u00favida, terei suporte no p\u00f3s venda?<\/strong><\/p>\n<p>Sim, com certeza. Basta clicar no \u00edcone do WhatsApp no cantinho da tela. Ser\u00e1 um prazer atend\u00ea-lo(a).<\/p>\n<div id=\"elementor-tab-content-1948\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"8\" aria-labelledby=\"elementor-tab-title-1948\">\n<p><strong>Quais os seus canais de contato?<\/strong><\/p>\n<\/div>\n<div id=\"elementor-tab-content-1949\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"9\" aria-labelledby=\"elementor-tab-title-1949\">\n<p>Whatsapp: 53 984751621 \u2013 Clicar no canto da tela ou ESCANEIE O QRCODE ABAIXO<\/p>\n<h4><img decoding=\"async\" class=\"alignnone wp-image-13699 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao-300x300.jpeg?resize=144%2C144\" sizes=\"(max-width: 144px) 100vw, 144px\" srcset=\"https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=300%2C301&amp;ssl=1 300w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=370%2C372&amp;ssl=1 370w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=100%2C100&amp;ssl=1 100w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?w=470&amp;ssl=1 470w\" alt=\"projeto de extens\u00e3o unopar\" width=\"144\" height=\"144\" data-lazy-loaded=\"1\" \/><\/h4>\n<\/div>\n<div class=\"elementor-toggle-item\">\n<div id=\"elementor-tab-content-1949\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"9\" aria-labelledby=\"elementor-tab-title-1949\">\n<p>E-mail:portifoliosp@gmail.com<\/p>\n<div id=\"attachment_143\" class=\"wp-caption alignnone\">\n<div id=\"attachment_143\" class=\"wp-caption alignnone\">\n<p id=\"caption-attachment-143\" class=\"wp-caption-text\"><a href=\"http:\/\/portfolio-pronto.com\/\">Portf\u00f3lio<\/a>\u00a0em Word, respondido, completo e j\u00e1 nas normas<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<div class=\"product-short-description\">\n<div class=\"product-short-description\">\n<p><strong>Pague pelo PIX ou cart\u00e3o e fa\u00e7a o download agora mesmo.<\/strong><\/p>\n<\/div>\n<div class=\"sticky-add-to-cart-wrapper\">\n<div class=\"sticky-add-to-cart\">\n<p class=\"quantity buttons_added form-flat\"><img decoding=\"async\" class=\"lazyloaded smush-image-5 smush-image-3 smush-image-4 smush-detected-img smush-image-bigger-3\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/visa@2x.png\" width=\"46\" height=\"29\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/visa@2x.png\" \/><img decoding=\"async\" class=\"lazyloaded smush-image-6 smush-image-4 smush-image-5 smush-detected-img smush-image-bigger-4\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/boleto@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/boleto@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-7 smush-image-5 smush-image-6 smush-detected-img smush-image-bigger-5\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mastercard@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mastercard@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-8 smush-image-6 smush-image-7 smush-detected-img smush-image-bigger-6\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/amex@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/amex@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-9 smush-image-7 smush-image-8 smush-detected-img smush-image-bigger-7\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/diners@2x.png\" width=\"46\" height=\"29\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/diners@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-10 smush-image-8 smush-image-9 alignnone smush-detected-img smush-image-bigger-8\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/elo@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"45\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/elo@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-11 smush-image-9 smush-image-10 alignnone smush-detected-img smush-image-bigger-9\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/hipercard@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"44\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/hipercard@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-12 smush-image-10 smush-image-11 alignnone smush-detected-img smush-image-bigger-10\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mercadopago@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"45\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mercadopago@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone ls-is-cached lazyloaded smush-detected-img smush-image-bigger-11\" src=\"https:\/\/futurium.com.br\/wp-content\/uploads\/2021\/06\/logo-pix-icone-512.png\" alt=\"portfolio pronto\" width=\"30\" height=\"30\" data-src=\"https:\/\/futurium.com.br\/wp-content\/uploads\/2021\/06\/logo-pix-icone-512.png\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"featured_media":18752,"template":"","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"%%post_title%% %%sitetitle%%","_seopress_titles_desc":"%%post_content%%","_seopress_robots_index":""},"product_cat":[144,15],"product_tag":[],"class_list":{"0":"post-18750","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-engenharia-de-software","7":"product_cat-uncategorized","9":"first","10":"instock","11":"downloadable","12":"virtual","13":"purchasable","14":"product-type-simple","15":"col-xs-6 col-sm-4","16":"col-mf-5","17":"un-5-cols"},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product\/18750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/types\/product"}],"version-history":[{"count":0,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product\/18750\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/media\/18752"}],"wp:attachment":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/media?parent=18750"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product_cat?post=18750"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product_tag?post=18750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}