Spring boot jpa hibernate probleme recuperation element par son id
Bonjour,
Je suis en train de développer une application spring boot jpa hibernate. J'ai créé un api pour récupérer la liste de mes clients après génération de mon entité client via hibernate. Je peux ajouter un client mais je n'arrive pas à récupérer un client via son id.
Je tester mon contrôleur via advanced rest client et j'ai un erreur voir piece jointe
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
package tata.entite;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@Entity
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = {"createdAt", "updatedAt"},
allowGetters = true)
public class Client implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String raisonSociale;
private String adresse;
private int siren;
private String mail;
public Client() {
super();
}
public Client(String raisonSociale, String adresse, int siren, String mail) {
super();
//this.id = id;
this.raisonSociale = raisonSociale;
this.adresse = adresse;
this.siren = siren;
this.mail = mail;
}
public Integer getId() {
return id;
}
public String getRaisonSociale() {
return raisonSociale;
}
public void setRaisonSociale(String raisonSociale) {
this.raisonSociale = raisonSociale;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public int getSiren() {
return siren;
}
public void setSiren(int siren) {
this.siren = siren;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11
|
package dev.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import tata.entite.Client;
public interface ClientRepository extends JpaRepository<Client, Integer> {
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
package dev.controleur;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import dev.entite.Client;
import dev.metier.ClientMetier;
import dev.repository.ClientRepository;
@RestController
@RequestMapping("/api")
public class ClientControleur {
@Autowired
private ClientMetier clientMetier;
@Autowired
private ClientRepository clientRepository;
@GetMapping("/clients")
public List<Client> listeClients() {
return clientMetier.listClient();
}
@PostMapping("/clients")
public Client ajouterClient(@RequestBody Client client) {
return clientMetier.ajouterClient(client);
}
@GetMapping("/clients/{id}")
public Client recupereClientById(Client c) {
return clientRepository.findById(c.getId()).get();
}
@PutMapping("/clients/{id}")
public Client modifierClient(@PathVariable(value = "id") Integer id,@RequestBody Client client) {
Client clientDetail = clientRepository.findById(id).get();
clientDetail.setAdresse(client.getAdresse());
clientDetail.setMail(client.getMail());
clientDetail.setRaisonSociale(client.getRaisonSociale());
clientDetail.setSiren(client.getSiren());
return clientDetail;
//return clientMetier.modifierClient(client);
}
} |
localhost:8080/api/clients/1 , j'ai une erreur 500 , internal server via advanced client rest