1
resposta

Postman retornando Erro 500!

Fiz uma aplicação bem simples, pra salvar um cliente com poucos dados a partir do SpringBoot, a aplicação sobe, roda, eu vou no postman coloco o JSON e ocorre o erro 500, eu não consigo resolver, tem como me ajudar? CÓDIGO CONTROLLER

import jakarta.validation.Valid;
import org.springframework.beans.BeanUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("/cliente-data")
public class ClienteController {
    private final ClienteService clienteService;
    public ClienteController(ClienteService clienteService) {
        this.clienteService = clienteService;
    }

    @PostMapping
    public ResponseEntity<Object> saveClienteData(@RequestBody @Valid ClienteDTO clienteDTO) {
        var clienteModel = new ClienteModel();
        BeanUtils.copyProperties(clienteDTO, clienteModel);
        return ResponseEntity.status(HttpStatus.CREATED).body(clienteService.save(clienteModel));
    }
}`
CÓDIGO SERVICE

package br.com.tech.erick.consultoria.services;

import br.com.tech.erick.consultoria.models.ClienteModel; import br.com.tech.erick.consultoria.repositories.ClienteRepository; import jakarta.transaction.Transactional; import org.springframework.stereotype.Service;

@Service public class ClienteService {

//Injetando a dependencia(poderia ser por construtor tbm)
private final ClienteRepository clienteRepository;

public ClienteService(ClienteRepository clienteRepository) {
    this.clienteRepository = clienteRepository;
}


//Métodos destrutivos ou construtivos bom usar transactional!
@Transactional
public ClienteModel save(ClienteModel clienteModel) {
    return clienteRepository.save(clienteModel);
}

}

CÓDIGO REPOSITORY

package br.com.tech.erick.consultoria.repositories;

import br.com.tech.erick.consultoria.models.ClienteModel; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;

import java.util.UUID;

@Repository public interface ClienteRepository extends JpaRepository<ClienteModel, UUID> { } `

JSON: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Erick!

Pelo que você descreveu, parece que seu código está correto. No entanto, o erro 500 geralmente indica um erro no servidor, o que pode ser causado por uma variedade de problemas.

Como o erro está ocorrendo quando você tenta salvar um cliente através do Postman, eu sugeriria verificar algumas coisas:

  1. Valide o JSON que você está enviando: O erro pode ser causado por um JSON mal formatado ou que não corresponde ao esperado pelo seu método saveClienteData. Verifique se todos os campos necessários estão presentes e se estão no formato correto.

  2. Verifique o log do servidor: O SpringBoot deve estar registrando os detalhes do erro 500 em algum lugar. Verifique os logs para ver se há mais informações sobre o que está causando o erro.

  3. Depuração do código: Tente depurar o código para ver se você consegue identificar em que ponto o erro está ocorrendo. Você pode fazer isso usando um debugger ou colocando logs em pontos estratégicos do seu código.

  4. Verifique a conexão com o banco de dados: Como o erro ocorre quando você tenta salvar um cliente, pode ser que haja um problema com a conexão com o banco de dados ou com a operação de gravação em si. Verifique se a conexão com o banco de dados está funcionando corretamente e se a operação de gravação está sendo executada como esperado.

Espero que essas sugestões possam te ajudar a identificar e resolver o problema. Lembre-se, a depuração é uma parte importante do desenvolvimento de software e pode ser uma ótima oportunidade para aprender mais sobre como seu código e as ferramentas que você está usando funcionam.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software