Java Spring: как использовать @RequestBody для POST-объекта JSON - PullRequest
0 голосов
/ 27 апреля 2018

Я создаю API, который получает следующие входные данные и обеспечивает следующий вывод. enter image description here

Я уже создал метод работы для «нового»:

@RequestMapping(value = "/new", method = RequestMethod.GET)
public StartedGame startGame(HttpSession session){
    List<Game> games = getCurrentGames(session);
    Game newGame = new Game(wordList);
    games.add(newGame);
    return new StartedGame(newGame);
}

, который возвращает следующий JSON:

{
    "gameId": "kvmuyw",
    "word": "_______"
}

Однако мне нужно создать функцию для угадывания. Мне не повезло. Это мой заголовок функции, но он не совсем корректен ...

@RequestMapping(value = "/guess", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
public Game makeGuess(@RequestBody String json, HttpSession session) 

1 Ответ

0 голосов
/ 27 апреля 2018

Вы, вероятно, хотите что-то вроде

@RequestMapping(value = "/guess", method = RequestMethod.POST,
   consumes = "application/json", produces = "application/json")
public Game makeGuess(@RequestBody Guess guess){
  // ..
}

@Data // <- this assuming you're using Lombok - add required accessors if not
public class Guess {
  String game;
  String guess;
}

Однако, если вы получаете 404 Not Found, ваши проблемы связаны не с определением метода, а с тем, что вы публикуете неправильный URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...