【发布时间】:2019-10-30 14:05:22
【问题描述】:
我写了这些webservices,并在postman上测试过,但是在创建、登录、findbyId和delete测试时遇到错误500。但是 findAll 方法没有问题。
如果没有的话,我想有不同方法的修复如果你能解释问题。
这是spring-boot 2.2.0
package com.bni.Gestion_Operation.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.bni.Gestion_Operation.entities.Utilisateur;
import com.bni.Gestion_Operation.repositories.IUtilisateur;
@RestController
@RequestMapping("/utilisateur")
public class UtilisateurController {
@Autowired
private IUtilisateur utilisateurRepository;
@GetMapping("/")
public ResponseEntity findAll() {
return ResponseEntity.ok(utilisateurRepository.findAll());
}
@GetMapping("/{matricule}")
public ResponseEntity findUtilisateurById(@PathVariable(name="matricule") String matricule) {
if (matricule == null) {
return ResponseEntity.badRequest().body("Impossible de recuperer un utilisateur null");
}
Utilisateur utilisateur = utilisateurRepository.getOne(matricule);
if (utilisateur == null) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok().body(utilisateur);
}
@PostMapping("/cree")
public ResponseEntity creeUtilisateur(@RequestBody Utilisateur utilisateur) {
if (utilisateur == null) {
return ResponseEntity.badRequest().body("Impossible de recuperer un utilisateur null");
}
Utilisateur utilisateurCree = utilisateurRepository.save(utilisateur);
return ResponseEntity.ok(utilisateurCree);
}
@DeleteMapping("/{matricule}")
public ResponseEntity supprimerUtilisateur( @PathVariable(name="matricule") String matricule) {
if (matricule == null) {
return ResponseEntity.badRequest().body("Impossible de supprimer un utilisateur, matricule null");
}
Utilisateur utilisateur = utilisateurRepository.getOne(matricule);
if (utilisateur == null) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok("Utilisateur supprimé avec succès!");
}
@PostMapping("/login")
public ResponseEntity login( @RequestParam(name="matricule") String matricule, @RequestParam(name = "password") String password) {
if (StringUtils.isEmpty(matricule) || StringUtils.isEmpty(password)) {
return ResponseEntity.badRequest().body("Veuilez renseigner votre login et votre mot de passe SVP");
}
return ResponseEntity.ok("Connexion reussi avec succès!");
}
}
【问题讨论】:
-
HTTP 状态 500 是服务器端的错误,你检查日志了吗?
-
向我们展示 1. 您发送的请求; 2. 堆栈跟踪
-
link@MatheusCirillo
-
不,我没有检查日志。你能告诉我去日志的路吗? @Arnaud
-
看来您需要在您的网络服务器上启用 POST 方法。
标签: java spring-boot controller