{"id":24033319,"url":"https://github.com/augustomello09/spring-boot-rest-api-","last_synced_at":"2026-04-12T06:33:52.483Z","repository":{"id":154662522,"uuid":"561437000","full_name":"AugustoMello09/Spring-Boot-REST-API-","owner":"AugustoMello09","description":"Spring Boot REST API com JavaScript e Bootstrep","archived":false,"fork":false,"pushed_at":"2023-01-10T12:25:59.000Z","size":22,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T04:31:29.580Z","etag":null,"topics":["bootstrap","html5","java","javascript","jquery","postgresql","postman","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AugustoMello09.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-03T17:28:20.000Z","updated_at":"2023-01-22T08:37:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6a3be36-dce3-47b8-bd81-230cdf8ef1b0","html_url":"https://github.com/AugustoMello09/Spring-Boot-REST-API-","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AugustoMello09/Spring-Boot-REST-API-","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoMello09%2FSpring-Boot-REST-API-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoMello09%2FSpring-Boot-REST-API-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoMello09%2FSpring-Boot-REST-API-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoMello09%2FSpring-Boot-REST-API-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustoMello09","download_url":"https://codeload.github.com/AugustoMello09/Spring-Boot-REST-API-/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustoMello09%2FSpring-Boot-REST-API-/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31706764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","html5","java","javascript","jquery","postgresql","postman","spring-boot"],"created_at":"2025-01-08T18:15:45.728Z","updated_at":"2026-04-12T06:33:52.465Z","avatar_url":"https://github.com/AugustoMello09.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot REST API\n\nEstudando os conceitos de programação REST API\n\n#### Entity\nCriando o entity na camada Model e criando tabela no banco de dados\n~~~JAVA\n@Entity\n@SequenceGenerator(name = \"seq_usuario\", sequenceName = \"seq_usuario\", allocationSize = 1, initialValue = 1)\npublic class Usuario implements Serializable {\n\n\tprivate static final long serialVersionUID = 1L;\n\n\t@Id\n\t@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = \"seq_usuario\")\n\tprivate Long id;\n\n\tprivate String nome;\n\n\tprivate int idade;\n\n\tpublic Long getId() {\n\t\treturn id;\n\t}\n\n\tpublic void setId(Long id) {\n\t\tthis.id = id;\n\t}\n\n\tpublic String getNome() {\n\t\treturn nome;\n\t}\n\n\tpublic void setNome(String nome) {\n\t\tthis.nome = nome;\n\t}\n\n\tpublic int getIdade() {\n\t\treturn idade;\n\t}\n\n\tpublic void setIdade(int idade) {\n\t\tthis.idade = idade;\n\t}\n\n}\n~~~\n\n![Criando tabela](https://user-images.githubusercontent.com/101072311/199089515-e8097250-ac55-4267-a4ed-5024dce1133d.png)\n\n#### Criando o Repository\n\n~~~JAVA\n@Repository\npublic interface UsuarioRepository extends JpaRepository\u003cUsuario, Long\u003e {\n}\n~~~\n\n#### Fazendo o injeção de dependência\nFazendo a injeção dependência no Controller.\n\n~~~JAVA\n@Autowired\n\tprivate UsuarioRepository usuarioRepository;\n~~~\n\n## EndPoint\n\n#### Listando Todos(GET)\nCriando o EndPoint que lista todos usuários e testando no Postman.\n~~~JAVA\n\t@GetMapping(value = \"listatodos\")\n    @ResponseBody/*Retorna os dados para o corpo da resposta*/\n    public ResponseEntity\u003cList\u003cUsuario\u003e\u003e listaUsuario() {\n    \tList\u003cUsuario\u003e usuarios = usuarioRepository.findAll();\n    \treturn new ResponseEntity\u003cList\u003cUsuario\u003e\u003e(usuarios, HttpStatus.OK);/*Retorna Lista em JSON*/\n    }\n~~~\n\n![listaTodosPostman](https://user-images.githubusercontent.com/101072311/199598494-6c7bd801-206f-45be-9028-a74a74afaea7.png)\n\n![lista todos banco](https://user-images.githubusercontent.com/101072311/199342656-29cdf1c1-06cc-4fd7-8723-98fe9b9e289b.png)\n\n#### Salvando no banco(POST)\nCriando o EndPoint que salva no banco de dados e testando no Postman.\n~~~JAVA\n@PostMapping(value = \"salvar\")/*mapeia url*/\n    @ResponseBody/*Decrição da resposta*/\n    public ResponseEntity\u003cUsuario\u003e salvar(@RequestBody Usuario usuario){/*Receber os dados da resposta para salvar*/\n    \tUsuario user = usuarioRepository.save(usuario);\n\n    \treturn new ResponseEntity\u003cUsuario\u003e(user, HttpStatus.CREATED);\n    }\n~~~\n\n![teste](https://user-images.githubusercontent.com/101072311/199606521-8df59512-f70a-443d-b85c-a58b9d7d0361.png)\n\n#### DELETE\nCriando o EndPoint para deletar do banco.\n\n~~~JAVA\n@DeleteMapping(value = \"delete\")/*mapeia url*/\n    @ResponseBody/*Decrição da resposta*/\n    public ResponseEntity\u003cString\u003e delete(@RequestParam Long iduser){/*Receber os dados da resposta para Deletar*/\n    \tusuarioRepository.deleteById(iduser);\n\n    \treturn new ResponseEntity\u003cString\u003e(\"Usuário Deletado com Sucesso\", HttpStatus.OK);\n    }\n~~~\n\n![delete](https://user-images.githubusercontent.com/101072311/199610299-893ee562-d6cb-4b65-ae69-c6c70b313333.png)\n\n![sucesso](https://user-images.githubusercontent.com/101072311/199610309-5ba55dc2-9de6-4b39-8370-ee5b0f4bee71.png)\n\n#### Buscar Id\nCriando o EndPoint para buscar.\n~~~JAVA\n@GetMapping(value = \"buscaruserid\")/*mapeia url*/\n    @ResponseBody/*Decrição da resposta*/\n    public ResponseEntity\u003cUsuario\u003e buscar(@RequestParam(name = \"iduser\") Long iduser){/*Receber os dados da respsota para consultar*/\n    Usuario usuario = usuarioRepository.findById(iduser).get();\n\n    \treturn new ResponseEntity\u003cUsuario\u003e(usuario, HttpStatus.OK);\n    }\n~~~\n\n![buscapostman](https://user-images.githubusercontent.com/101072311/199612562-882f5e2c-c767-473d-aa45-02f89577dc21.png)\n\n#### Atualizando no banco\nCriando um EndPoint PUT para atualizar no banco de dados.\n\n~~~JAVA\n@PutMapping(value = \"atualizar\")/*mapeia url*/\n    @ResponseBody/*Decrição da resposta*/\n    public ResponseEntity\u003c?\u003e atualizar(@RequestBody Usuario usuario){/*Receber os dados da resposta para salvar*/\n    \tif(usuario.getId() == null) {\n    \t\treturn new ResponseEntity\u003cString\u003e(\"Id não informado para atualização\", HttpStatus.OK);\n    \t}\n\n    \tUsuario user = usuarioRepository.saveAndFlush(usuario);\n\n    \treturn new ResponseEntity\u003cUsuario\u003e(user, HttpStatus.OK);\n    }\n~~~\n\n![antesatualizar](https://user-images.githubusercontent.com/101072311/199615291-d9eecf06-5aa8-4cce-a86a-a71958fa890e.png)\n\n __Atualizado__\n\n![atualizado](https://user-images.githubusercontent.com/101072311/199615489-fb05adf9-a62c-4cf3-8104-2d5810be32de.png)\n\n##### Caso não seja informado o Id na hora da atualização vai ocorrer o erro.\n\n~~~JAVA\nif(usuario.getId() == null) {\n\treturn new ResponseEntity\u003cString\u003e(\"Id não informado para atualização\", HttpStatus.OK);\n}\n~~~\n\n![Id não informado](https://user-images.githubusercontent.com/101072311/199615319-e281e4bb-2251-44ca-8a27-1bc5b05f433f.png)\n\n## Criando um formulário\nCriando formulário utilizando HTML, JAVASCRIP, BOOTSTRAP e JQuery\n\n#### Funcion Botão Deletar da Tela\n\n~~~JAVA\nfunction botaoDeletarDaTela() {\n        var id = $('#id').val()\n\n        if (id != null \u0026\u0026 id.trim() != '') {\n          deleteUser(id)\n          document.getElementById('formCadastroUser').reset()\n        }\n      }\n~~~\n#### Funcion Delete User\n\n~~~JAVA\nfunction deleteUser(id) {\n        if (confirm('Deseja realmente deletar?')) {\n          $.ajax({\n            method: 'DELETE',\n            url: 'delete',\n            data: 'iduser=' + id,\n            success: function (response) {\n              $('#' + id).remove()\n\n              alert(response)\n            }\n          }).fail(function (xhr, status, errorThrown) {\n            alert('Erro ao deletar usuario por id: ' + xhr.responseText)\n          })\n        }\n      }\n~~~\n#### Function Pesquisar User\n\n~~~JAVA\nfunction pesquisarUser() {\n        var nome = $('#nameBusca').val()\n\n        if (nome != null \u0026\u0026 nome.trim() != '') {\n          $.ajax({\n            method: 'GET',\n            url: 'buscarPorNome',\n            data: 'name=' + nome,\n            success: function (response) {\n              $('#tabelaresultados \u003e tbody \u003e tr').remove()\n\n              for (var i = 0; i \u003c response.length; i++) {\n                $('#tabelaresultados \u003e tbody').append(\n                  '\u003ctr id=\"' +\n                    response[i].id +\n                    '\"\u003e\u003ctd\u003e' +\n                    response[i].id +\n                    '\u003c/td\u003e\u003ctd\u003e' +\n                    response[i].nome +\n                    '\u003c/td\u003e\u003ctd\u003e\u003cbutton type=\"button\" onclick=\"colocarEmEdicao(' +\n                    response[i].id +\n                    ')\" class=\"btn btn-primary\"\u003eVer\u003c/button\u003e\u003c/td\u003e\u003ctd\u003e\u003cbutton type=\"button\" class=\"btn btn-danger\" onclick=\"deleteUser(' +\n                    response[i].id +\n                    ')\"\u003eDelete\u003c/button\u003e\u003c/td\u003e\u003c/tr\u003e'\n                )\n              }\n            }\n          }).fail(function (xhr, status, errorThrown) {\n            alert('Erro ao buscar usuario: ' + xhr.responseText)\n          })\n        }\n      }\n~~~\n#### Function colocar em edição\n\n~~~JAVA\nfunction colocarEmEdicao(id) {\n        $.ajax({\n          method: 'GET',\n          url: 'buscaruserid',\n          data: 'iduser=' + id,\n          success: function (response) {\n            $('#id').val(response.id)\n            $('#nome').val(response.nome)\n            $('#idade').val(response.idade)\n\n            $('#modalPesquisarUser').modal('hide')\n          }\n        }).fail(function (xhr, status, errorThrown) {\n          alert('Erro ao buscar usuario por id: ' + xhr.responseText)\n        })\n      }\n~~~\n#### Function Salvar usuários\n\n~~~JAVA\nfunction salvarUsuario() {\n        var id = $('#id').val()\n        var nome = $('#nome').val()\n        var idade = $('#idade').val()\n\n        if (nome == null || (nome != null \u0026\u0026 nome.trim() == '')) {\n          $('#nome').focus()\n          alert('Informe o nome')\n          return\n        }\n\n        if (idade == null || (idade != null \u0026\u0026 idade.trim() == '')) {\n          $('#idade').focus()\n          alert('Informe a idade')\n          return\n        }\n\n        $.ajax({\n          method: 'POST',\n          url: 'salvar',\n          data: JSON.stringify({\n            id: id,\n            nome: nome,\n            idade: idade\n          }),\n          contentType: 'application/json; charset=utf-8',\n          success: function (response) {\n            $('#id').val(response.id)\n            alert('Gravou com sucesso!')\n          }\n        }).fail(function (xhr, status, errorThrown) {\n          alert('Erro ao salvar usuario: ' + xhr.responseText)\n        })\n      }\n~~~\n\n![Tela Home](https://user-images.githubusercontent.com/101072311/199790305-d886da4a-02d3-4941-b8d7-c16859322e74.png)\n\n![telapesquisa](https://user-images.githubusercontent.com/101072311/199790265-5051a856-7208-4c03-a01d-6c6ea2f22adf.png)\n\n## Ferramentas e Tecnologias usadas nesse repositório 🌐\n\u003cdiv style=\"display: inline_block\"\u003e\u003cbr\u003e\n\n\u003cimg align=\"center\" alt=\"Augusto-Java\" height=\"60\" width=\"60\" src=https://github.com/devicons/devicon/blob/master/icons/java/java-original.svg \u003e\n\u003cimg align=\"center\" alt=\"Augusto-SpringBoot\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/spring/spring-original-wordmark.svg\"\u003e\n\u003cimg align=\"center\" alt=\"Augusto-POSTGRESQL\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/postgresql/postgresql-original-wordmark.svg\"\u003e\n\u003cimg align=\"center\" alt=\"Augusto-HTML\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/html5/html5-plain.svg\"\u003e\n\u003cimg align=\"center\" alt=\"Augusto-JAVASCRIP\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/javascript/javascript-plain.svg\"\u003e\n\u003cimg align=\"center\" alt=\"Augusto-BOOTSTRAP\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/bootstrap/bootstrap-plain-wordmark.svg\"\u003e\n\u003cimg align=\"center\" alt=\"Augusto-JQUERY\" height=\"60\" width=\"60\" src=\"https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/jquery/jquery-plain.svg\"\u003e\n\n\u003c/div\u003e    \n\n## Teste o projeto 👁‍🗨\n\nDownload do projeto para testar em sua máquina: https://github.com/AugustoMello09/Spring-Boot-REST-API-/archive/refs/heads/main.zip\n\n## Entre em contato comigo através dos canais abaixo e desde já, agradeço a atenção. 🤝\n\n\u003cdiv\u003e\n\n  \u003ca href=\"mailto:joseaugusto.Mello01@gmail.com\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" target=\"_blank\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.linkedin.com/in/jos%C3%A9-augusto-mello-794a94234\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/-LinkedIn-%230077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" target=\"_blank\"\u003e\u003c/a\u003e   \n\n  \u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustomello09%2Fspring-boot-rest-api-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faugustomello09%2Fspring-boot-rest-api-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faugustomello09%2Fspring-boot-rest-api-/lists"}