Как исправить 500 ошибок сервера при весенней загрузке - PullRequest
0 голосов
/ 30 октября 2019

Я написал эти веб-сервисы и протестировал их на почтальоне, но я столкнулся с ошибкой 500 при тестировании создания, входа в систему, findbyId и удаления. Но метод findAll проходит без проблем.

Я хотел бы иметь исправления различных методов, если нет, если вы можете объяснить проблемы.

Это весенняя загрузка 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!");
    }
}  

1 Ответ

0 голосов
/ 30 октября 2019

Вы не сопоставляете никакие /utilisateur с помощью метода HTTP 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);
}
...