我使用Sping Boot ,我正在用Spring编写REST服务器,我有很多不同的请求Map,我需要接受json中的内容
我可以使用@RequestBody
注解来实现这一点,但在本例中,我将为每个请求和每个可能的响应提供大量POJO类。
我需要发送和接收的很多JSON都非常简单-一个、两个或三个值
是否可以使用@RequestParam("field1_from_my_json")
和@RequestParam("field2_from_my_json")
来提取JSON字段作为请求参数,而不是每次都创建新的POJO?
3条答案
按热度按时间3phpmpom1#
我没有意识到Spring所提供的任何东西。但我有一些建议,如果你愿意:)
1.您可以从合约(json schema或swagger spec)生成Spring模型类。即使这增加了类,至少您不用手动维护它
1.如果您担心类太多,那么一个带泛型字段的泛型类怎么样(尽管我强烈反对这样做)
字符串
9nvpjoqh2#
如果你不需要POJO等的强类型特性,你可以使用Map作为
@RequestBody
和@ResponseBody
:字符串
kse8i1jr3#
我可以为您提供我的示例Rest模板,使用Facebook API获取用户信息:
字符串
或者如果你请求得到JSON:
型
所以我使用Jsonpath。响应JSON看起来像:
型
所以我提取 locale 只是从json阅读这个属性:
型