Разбор JSON полезной нагрузки в Spring MVC - PullRequest
0 голосов
/ 21 марта 2019

Я недавно начал изучать веб-сервис со Spring, и я хотел бы знать, как анализировать String в JSON. Мой веб-сервис разрешает игру Motus, поэтому игрок должен найти слово и сделать 5 попыток сделать это.

Я хотел бы опубликовать выбранное пользователями слово в теле запроса HTTP.

@PostMapping(value = "/jouer")
public void plays(@RequestBody String name){
   users.plays(name);
}

JSON в теле будет выглядеть так:

{
  "name": "elephant"
}

Я бы не хотел создавать классы для сопоставления JSON.

1 Ответ

1 голос
/ 21 марта 2019

Я не хотел бы создавать классы для сопоставления JSON.

Я бы посоветовал вам создать класс в любом случае. Но, если вы хотите избежать этого, вы можете использовать Map<String, String>, как показано ниже:

@PostMapping(value = "/jouer")
public void plays(@RequestBody Map<String, String> payload) {
    String name = payload.get("name");
}

Если вы выберете классовый подход, вы получите что-то вроде:

@Data
public class GuessAttempt {
    private String name;
}
@PostMapping(value = "/jouer")
public void plays(@RequestBody GuessAttempt payload) {
    String name = payload.getName();
}

Аннотация @Data взята из Lombok : генерирует all шаблонный код, который обычно ассоциируется с простыми бобами:

  • Геттеры для всех полей;
  • Установщики для всех не финальных полей;
  • Подходящие toString(), equals() и hashCode() методы;
  • Конструктор, который инициализирует все последние поля.

Если вы не используете Lombok, просто реализуйте эти методы вручную.

...