如何在春季启动时修复500个服务器错误

问题描述 投票:-1回答:1

我编写了这些Web服务,并在邮递员上对其进行了测试,但是在创建,登录,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!");
    }
}  
java spring-boot controller
1个回答
0
投票

您没有使用HTTP方法/utilisateur映射任何POST

/utilisateur/cree发送相同的请求,它将起作用。

或者只是从/cree方法的注释中删除creeUtilisateur

@PostMapping
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);
}
© www.soinside.com 2019 - 2024. All rights reserved.