https://github.com/augustomello09/spring-boot-rest-api-
Spring Boot REST API com JavaScript e Bootstrep
https://github.com/augustomello09/spring-boot-rest-api-
bootstrap html5 java javascript jquery postgresql postman spring-boot
Last synced: 10 months ago
JSON representation
Spring Boot REST API com JavaScript e Bootstrep
- Host: GitHub
- URL: https://github.com/augustomello09/spring-boot-rest-api-
- Owner: AugustoMello09
- Created: 2022-11-03T17:28:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-10T12:25:59.000Z (almost 3 years ago)
- Last Synced: 2025-01-08T18:15:51.443Z (12 months ago)
- Topics: bootstrap, html5, java, javascript, jquery, postgresql, postman, spring-boot
- Language: Java
- Homepage:
- Size: 21.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Boot REST API
Estudando os conceitos de programação REST API
#### Entity
Criando o entity na camada Model e criando tabela no banco de dados
~~~JAVA
@Entity
@SequenceGenerator(name = "seq_usuario", sequenceName = "seq_usuario", allocationSize = 1, initialValue = 1)
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_usuario")
private Long id;
private String nome;
private int idade;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}
~~~

#### Criando o Repository
~~~JAVA
@Repository
public interface UsuarioRepository extends JpaRepository {
}
~~~
#### Fazendo o injeção de dependência
Fazendo a injeção dependência no Controller.
~~~JAVA
@Autowired
private UsuarioRepository usuarioRepository;
~~~
## EndPoint
#### Listando Todos(GET)
Criando o EndPoint que lista todos usuários e testando no Postman.
~~~JAVA
@GetMapping(value = "listatodos")
@ResponseBody/*Retorna os dados para o corpo da resposta*/
public ResponseEntity> listaUsuario() {
List usuarios = usuarioRepository.findAll();
return new ResponseEntity>(usuarios, HttpStatus.OK);/*Retorna Lista em JSON*/
}
~~~


#### Salvando no banco(POST)
Criando o EndPoint que salva no banco de dados e testando no Postman.
~~~JAVA
@PostMapping(value = "salvar")/*mapeia url*/
@ResponseBody/*Decrição da resposta*/
public ResponseEntity salvar(@RequestBody Usuario usuario){/*Receber os dados da resposta para salvar*/
Usuario user = usuarioRepository.save(usuario);
return new ResponseEntity(user, HttpStatus.CREATED);
}
~~~

#### DELETE
Criando o EndPoint para deletar do banco.
~~~JAVA
@DeleteMapping(value = "delete")/*mapeia url*/
@ResponseBody/*Decrição da resposta*/
public ResponseEntity delete(@RequestParam Long iduser){/*Receber os dados da resposta para Deletar*/
usuarioRepository.deleteById(iduser);
return new ResponseEntity("Usuário Deletado com Sucesso", HttpStatus.OK);
}
~~~


#### Buscar Id
Criando o EndPoint para buscar.
~~~JAVA
@GetMapping(value = "buscaruserid")/*mapeia url*/
@ResponseBody/*Decrição da resposta*/
public ResponseEntity buscar(@RequestParam(name = "iduser") Long iduser){/*Receber os dados da respsota para consultar*/
Usuario usuario = usuarioRepository.findById(iduser).get();
return new ResponseEntity(usuario, HttpStatus.OK);
}
~~~

#### Atualizando no banco
Criando um EndPoint PUT para atualizar no banco de dados.
~~~JAVA
@PutMapping(value = "atualizar")/*mapeia url*/
@ResponseBody/*Decrição da resposta*/
public ResponseEntity> atualizar(@RequestBody Usuario usuario){/*Receber os dados da resposta para salvar*/
if(usuario.getId() == null) {
return new ResponseEntity("Id não informado para atualização", HttpStatus.OK);
}
Usuario user = usuarioRepository.saveAndFlush(usuario);
return new ResponseEntity(user, HttpStatus.OK);
}
~~~

__Atualizado__

##### Caso não seja informado o Id na hora da atualização vai ocorrer o erro.
~~~JAVA
if(usuario.getId() == null) {
return new ResponseEntity("Id não informado para atualização", HttpStatus.OK);
}
~~~

## Criando um formulário
Criando formulário utilizando HTML, JAVASCRIP, BOOTSTRAP e JQuery
#### Funcion Botão Deletar da Tela
~~~JAVA
function botaoDeletarDaTela() {
var id = $('#id').val()
if (id != null && id.trim() != '') {
deleteUser(id)
document.getElementById('formCadastroUser').reset()
}
}
~~~
#### Funcion Delete User
~~~JAVA
function deleteUser(id) {
if (confirm('Deseja realmente deletar?')) {
$.ajax({
method: 'DELETE',
url: 'delete',
data: 'iduser=' + id,
success: function (response) {
$('#' + id).remove()
alert(response)
}
}).fail(function (xhr, status, errorThrown) {
alert('Erro ao deletar usuario por id: ' + xhr.responseText)
})
}
}
~~~
#### Function Pesquisar User
~~~JAVA
function pesquisarUser() {
var nome = $('#nameBusca').val()
if (nome != null && nome.trim() != '') {
$.ajax({
method: 'GET',
url: 'buscarPorNome',
data: 'name=' + nome,
success: function (response) {
$('#tabelaresultados > tbody > tr').remove()
for (var i = 0; i < response.length; i++) {
$('#tabelaresultados > tbody').append(
'' +
response[i].id +
'' +
response[i].nome +
'VerDelete'
)
}
}
}).fail(function (xhr, status, errorThrown) {
alert('Erro ao buscar usuario: ' + xhr.responseText)
})
}
}
~~~
#### Function colocar em edição
~~~JAVA
function colocarEmEdicao(id) {
$.ajax({
method: 'GET',
url: 'buscaruserid',
data: 'iduser=' + id,
success: function (response) {
$('#id').val(response.id)
$('#nome').val(response.nome)
$('#idade').val(response.idade)
$('#modalPesquisarUser').modal('hide')
}
}).fail(function (xhr, status, errorThrown) {
alert('Erro ao buscar usuario por id: ' + xhr.responseText)
})
}
~~~
#### Function Salvar usuários
~~~JAVA
function salvarUsuario() {
var id = $('#id').val()
var nome = $('#nome').val()
var idade = $('#idade').val()
if (nome == null || (nome != null && nome.trim() == '')) {
$('#nome').focus()
alert('Informe o nome')
return
}
if (idade == null || (idade != null && idade.trim() == '')) {
$('#idade').focus()
alert('Informe a idade')
return
}
$.ajax({
method: 'POST',
url: 'salvar',
data: JSON.stringify({
id: id,
nome: nome,
idade: idade
}),
contentType: 'application/json; charset=utf-8',
success: function (response) {
$('#id').val(response.id)
alert('Gravou com sucesso!')
}
}).fail(function (xhr, status, errorThrown) {
alert('Erro ao salvar usuario: ' + xhr.responseText)
})
}
~~~


## Ferramentas e Tecnologias usadas nesse repositório 🌐

## Teste o projeto 👁🗨
Download do projeto para testar em sua máquina: https://github.com/AugustoMello09/Spring-Boot-REST-API-/archive/refs/heads/main.zip
## Entre em contato comigo através dos canais abaixo e desde já, agradeço a atenção. 🤝