如何在弹簧控制器中接收json作为身体?

问题描述:

我想知道。 { "name":"test", "age":"123" } 如何在弹簧控制器中接收json作为身体?

字符串名称,字符串年龄当我得到它时,它的值将为空。

一般来说,我们是创建一个域还是bean?还是只有一种方式来获得它与地图?

不,地图不是唯一获取它的方法。你可以做一个类,并通过@RequestBody

public class Something { 
    String name; 
    String age; 
    // getter, setter and constructor 
} 

控制器收到

@RequestMapping(method = RequestMethod.POST) 
    @ResponseStatus(HttpStatus.CREATED) 
    @ResponseBody 
    public Long create(@RequestBody Something something){ 
     ..... 
     return someLongValue; 
} 

您可以从here

+0

获得详细的例子是有办法总是创建一个bean像上面一样? 我应该为每个控制器创建一个bean吗? 这似乎太低效了。 – ansatgol

+0

无论您为每个控制器创建班级还是使用地图,都是您的选择。我宁愿使用这种两种参数(你的情况)的地图。无论你是否只写一次参数名称和类型,都不等于一次写出一个类。似乎并不低效。如果您重复使用,那么它会更加结构化。 – Zico

+0

只是地图转换创建JSON相同。 – Adam