Я новичок в SpringBoot и MongoDB, я пытался использовать метод GET для поиска всех моих игроков в MongoDB. моя программа работает для всех методов: PUT, POST, DELETE и GET ("/ {ID}), но она не работает для GET (). Я не могу понять, где я допустил ошибку или в чем проблема, потому что я пробовал так много способов, таких Как: изменить порядок и поставить Get () getAllPlayers после getPlayerByID или я использовал @Get ("/"), для этого я получил ошибку 405. Не могли бы вы помочь мне, пожалуйста ?! Мой playerController:
package thesisMongoProject.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import thesisMongoProject.Player;
import thesisMongoProject.Repository.PlayerRepository;
@RestController
@RequestMapping("/player")
public class PlayerController {
@Autowired
private PlayerRepository repo;
//Get All Players
@GetMapping
public List<Player> getAllPlayers() {
return repo.findAll();
}
//Getting Player ID
@GetMapping("/{nickname}")
public Player getPlayerByID(@PathVariable String nickname){
return repo.findById(nickname).get();
}
//Delete Players
@DeleteMapping
public String deleteAllPlayers(){
repo.deleteAll();
return "Deleted!";
}
//Create Player
@PostMapping
public ResponseEntity<?> createPlayer(@RequestBody Player player){
repo.save(player);
return ResponseEntity.status(201).body("Created!");
}
//Delete player By ID
@DeleteMapping("/{nickname}")
public ResponseEntity<?> deletePlayerByID(@PathVariable String nickname){
try {
Player p = repo.findById(nickname).get();
return ResponseEntity.ok(p);
} catch (Exception e) {
return ResponseEntity.status(404).body("Not Found!");
}
}
//Update Player By ID
@PutMapping("/{nickname}")
public ResponseEntity<?> updatePlayerByID(
@PathVariable("nickname")String nickname,
@RequestBody Player player){
try {
player.setNickname(nickname);
repo.save(player);
return ResponseEntity.ok(player);
} catch (Exception e) {
return ResponseEntity.status(404).body("Not Found!");
}
}
}