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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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