在Spring MVC中解析JSON负载

时间:2019-03-21 10:33:07

标签: json spring-rest

我最近从Spring开始研究Web服务,我想知道如何将String解析为JSON。我的网络服务允许使用Motus游戏,因此玩家必须找到一个单词并尝试5次。

我想将用户选择的单词发布到HTTP请求的请求正文中。

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

主体中的JSON如下所示:

{
  "name": "elephant"
}

我不想创建映射JSON的类。

1 个答案:

答案 0 :(得分:1)

  

我不想创建映射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 样板代码,该代码通常与简单bean相关联:

  • 所有领域的信件;
  • 所有非最终领域的设置者;
  • 适当的toString()equals()hashCode()方法;
  • 用于初始化所有最终字段的构造函数。

如果您不使用Lombok,只需手动实现这些方法即可。