Prévia do material em texto
Relatório Aula Pratica Programação Web Libras ou Programação para Web II * (Unopar) Digitalizar para abrir em Studocu A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade Relatório Aula Pratica Programação Web Libras ou Programação para Web II * (Unopar) Digitalizar para abrir em Studocu A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web https://www.studocu.com/pt-br/document/unopar/libras-ou-programacao-para-web-ii/relatorio-aula-pratica-programacao-web/101260895?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web https://www.studocu.com/pt-br/course/unopar/libras-ou-programacao-para-web-ii/3412366?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web https://www.studocu.com/pt-br/document/unopar/libras-ou-programacao-para-web-ii/relatorio-aula-pratica-programacao-web/101260895?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web https://www.studocu.com/pt-br/course/unopar/libras-ou-programacao-para-web-ii/3412366?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web UNIVERSIDADE PITÁGORAS UNOPAR – CAMPO GRANDE/MS ENGENHARIA DE SOFTWARE - BACHARELADO RAQUEL LEMOS DOS SANTOS – RA 3435206501 RELATÓRIO DE AULA PRÁTICA PROGRAMAÇÃO WEB Campo Grande/MS 2024 Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web RAQUEL LEMOS DOS SANTOS – RA 3435206501 PROGRAMAÇÃO WEB Trabalho de portfólio apresentado como requisito parcial para a obtenção de pontos para a média semestral. Tutor: Vanice Dalto Campo Grande/MS 2024 Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 INTRODUÇÃO Essa atividade é referente ao 4º semestre de Engenharia de Software, objetiva criação de um projeto utilizando o framework Spring para o gerenciamento de usuários de um sistema. Se tratará de um projeto backend baseado em Rest API, ou seja, serão disponibilizados os endpoints necessários para realizar as operações de gerenciamento de usuários (CRUD). O projeto será MVC e será necessário realizar o modelo logico para a criação da base de dados, bem como a conexão com o mesmo. Além da logica base, será necessário realizar os tratamentos de exceções MÉTODOS Foram utilizados Spring Tool: https://spring.io/tools. O Postman para os devidos testes. Spring a partir do seguinte link: https://start.spring.io/ .Selecionada as seguintes opções: o Maven o Java, versão 17 o Versão do Spring: 3.0.0 o JAR packaging o Add dependencies: Spring Web Em “generate”. Descompacte o projeto que foi baixado no seu workspace. No Spring Tool Suite e escolha seu workspace. Em “File > Import > Maven > Existing Maven projects”: escolha a pasta do projeto base gerado nos passos 1 e 2. Selecione o arquivo pom.xml que aparecerá e clique em “Finish”. Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://spring.io/tools https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Em src/main/java, crie um pacote “entities” e dentro dele crie a classe User. Crie os atributos básicos: id, nome, e-mail, telefone, password. Crie um construtor vazio e um construtor usando todos os atributos (campos). Crie os getters e setters. Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 Gere a implementação para o método hashCode() e equals() (botão direito > source > generate hashCode...). Faça com que sua classe implemente a interface Serializable e crie o atributo serialVersionUID (ele vai ser útil caso seja necessário salvar o objeto em um arquivo etc.) Adicione a esta classe as seguintes annotations: Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web @Entity @Table(name = "tb_user") Em src/main/java, crie um pacote “resource” e dentro dele crie a classe UserResource (esta classe ira ser o nosso controller) Adicione as seguintes annotations: @RestController @RequestMapping(value = "/users") Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 Teste: Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Teste usuário Nosso banco de dados será o H2 que é um banco de dados relacional que pode ser executado no modo cliente-servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a dependência destes dois recursos: Para isto adicione as seguintes dependências no arquivo pom.xml: Em src/main/resources, crie o arquivo application.properties (ele nos servirá para armazenar propriedades de escopo do aplicativo): Adicione as seguintes linhas: Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 Em src/main/resources, crie o arquivo application-test.properties (ele nos servirá para armazenar propriedades de escopo do aplicativo para a realização dos testes locais): Adicione as seguintes linhas: Agora iremos popular nosso banco de dados h2 através de um repositório. Conforme roteiro: Em src/main/java, crie um pacote “repositories” e dentro dele crie a interface UserRepository. Estenda a classe JpaRepository e passe como definição ao JpaRepository a entidade “User” e o tipo da chave primaria (id): JpaRepository Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Crie uma classe de configuração que irá rodar toda vez que executarmos o projeto no modo teste. Ela irá nos servir para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória, portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, crie um pacote “config” e dentro dele crie a classe TestConfig que irá implementar a interface CommandLineRunner. Vamos injetar um atributo do tipo UserRepository à esta classe utilizando a annotation @Autowired. Implemente o método run, adicionando as seguintes linhas: User u1 = new User(null, "Maria Brown", "maria@gmail.com", "988888888", "123456"); User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777", "123456"); userRepository.saveAll(Arrays.asList(u1,u2)); Teste no h2 console Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 Em src/main/java, crie um pacote “services” e dentro dele crie a interface UserService, utilize nesta classe a annotation @Service. Injete um atributo do tipo UserRepository à esta classe utilizando a annotation @Autowired. Crie os seguintes métodos e implemente cada um deles: findAll findById insert delete update Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Teste no Postman: Rodando no Postman Id – 1 Id 2 Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 insert (POST) id 3 insert (POST) id 4 Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web delete (DELETE) Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 update (PUT) Tratamento de exceções Ex: Crie os atributos básicos: timestamp, status, error, message, path. Crie um construtor vazio e um construtor usando todos os atributos (campos). Crie os getters e setters. Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Faça com que sua classe implemente a interface Serializable e crie o atributo serialVersionUID (ele vai ser útil caso seja necessário salvar o objeto em um arquivo etc.) Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 Testes finais no Postman: Delete: Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web Metodo Git RESULTADOS OBTIDOS Pude perceber, que os softwares e programas apresentados são acessíveis e de fácil instalação, tornando-se excelentes ferramenta para criação e manuseio de projetos. Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 CONCLUSÃO Nesta atividade, foi possível colocar em prática o conteúdo da disciplina. A plataforma spring tools. Foram feitas as configurações e testes, para executar o relatório, de forma satisfatória a execução desta tarefa. No qual nos permitiu por meio da atividade colocar as teorias abordadas nas aulas em prática. Baixado por Neyde Santos (sneyde55@gmail.com) lOMoARcPSD|23601841 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=relatorio-aula-pratica-programacao-web PROGRAMAÇÃO WEB PROGRAMAÇÃO WEB