Parse error / POSTMAN

Bonjour à tous j'essaye de gérer mes requetes POST et GET de ma db sur Postman ( c'est la premiere fois que je l'utilise ) mais cela m'affiche un parse error. Je comprends donc qu'il faut que je parse mon objet ( j'ai fait un try catch dans mon controller ) et que je sérialise en JSON, le problème c'est qu'avec les librairies Java, je n'arrive pas à importer les librairies et dépendances pour appeler une méthode qui va parser ma requete.
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
User userSaved = userRepository.save(newUser);
jsonObj.toString(userSaved);

} catch (Exception e) {
e.printStackTrace();
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
User userSaved = userRepository.save(newUser);
jsonObj.toString(userSaved);

} catch (Exception e) {
e.printStackTrace();
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
No description
12 Replies
! αℓωүη974
c'est juste parce que tu return rien à la méthod newUser d'ailleurs il sort d'où le jsonObj :THONKeng:
NoSung
NoSung3mo ago
User newUser(@RequestBody User newUser){
// return userRepository.save(newUser);
try {
User userSaved = userRepository.save(newUser);
parse.JSON(userSaved);

} catch (Exception e) {
e.printStackTrace();
}

return newUser;
}
User newUser(@RequestBody User newUser){
// return userRepository.save(newUser);
try {
User userSaved = userRepository.save(newUser);
parse.JSON(userSaved);

} catch (Exception e) {
e.printStackTrace();
}

return newUser;
}
J'ai fait comme ça, c'est une méthode d'une librairie que j'ai essayé d'importer pour sérialiser mon objet mais je trouve pas de librairie sans avoir de probleme d'import
! αℓωүη974
t'as pas besoin justement juste retourne l'objet c'est automatiquement transformé en json
NoSung
NoSung3mo ago
try {
userRepository.save(newUser);
}catch (Exception e) {
e.printStackTrace();
}
return newUser;
}
try {
userRepository.save(newUser);
}catch (Exception e) {
e.printStackTrace();
}
return newUser;
}
Comme ça ? ah ouais mais non ça revient à ce que j'avais fait auparavant 🫣
! αℓωүη974
return userRepository.save() dans le try
NoSung
NoSung3mo ago
je suis obligé de mettre qlq chose dans le parametre de la methode save, je fais un run mais sur l'interface de postman j'ai toujours la meme erreur ouais ça run convenablement mais toujours ce probleme de parse sur Postman
! αℓωүη974
c'est du spring boot ? et oui fallait mettre le paramètre dans save j'avais juste la flemme de l'écrire xD normalement spring boot converti automatiquement en json :THONKeng: t'as ça que sur le post ou le get aussi à un parse error ?
NoSung
NoSung3mo ago
Sur les 2 et quand je vais directement sur l'url en question, j'ai un out of order Et oui c'est du spring boot run
majorjohn
majorjohn3mo ago
Logiquement ceci devrait marcher :
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
return userRepository.save(newUser);
} catch (Exception e) {
e.printStackTrace();
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
return userRepository.save(newUser);
} catch (Exception e) {
e.printStackTrace();
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
NoSung
NoSung3mo ago
Mon éditeur me dit qu’il faut que je retourne ma méthode et logiquement ca me met le met en dehors du bloc try catch mais ca ne chznge rien sur postman
majorjohn
majorjohn3mo ago
Ah oui c'est vrai. Je comprends pas ce que tu try catch. Mais si tu veux vraiment faire ça tu peux renvoyer une erreur http 500 dans le cas de l'exception.
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
return userRepository.save(newUser);
} catch (Exception e) {
e.printStackTrace();
throw new ResponseStatusException( HttpStatus.INTERNAL_SERVER_ERROR,"Error", e);
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
RestController
//Gestion des requetes HTTP
public class UserController {

@Autowired
//Injection de dépendance dans une classe
private UserRepository userRepository;



@PostMapping("/user")
//L'annotation @PostMapping est utilisée pour mapper une requête HTTP POST à une méthode spécifique dans votre contrôleur. En d'autres termes, elle indique que lorsque le serveur reçoit une requête POST à une certaine URL, il doit appeler la méthode annotée.
User newUser(@RequestBody User newUser){
try {
return userRepository.save(newUser);
} catch (Exception e) {
e.printStackTrace();
throw new ResponseStatusException( HttpStatus.INTERNAL_SERVER_ERROR,"Error", e);
}
}

@GetMapping("/users")
List<User> getAllUsers(){
return userRepository.findAll();
}
}
Parcontre c'est vraiment bizarre ton try catch. Ça ne suit pas les convention java pour info. Et le fait de renvoyer une entité plutôt qu'un dto c'est pas fou non plus (la c'est plus que ça suit pas les principes de séparation).
NoSung
NoSung3mo ago
J'essaye de returner les datas persistes mais peut-être que je commence un peu trop fort sur Spring Boot, il y a des notions que j'ai pas bien compris encore surtout la diff entre un DTO et un Repo
Want results from more Discord servers?
Add your server