首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹簧引导变量/嵌套请求体

弹簧引导变量/嵌套请求体
EN

Stack Overflow用户
提问于 2021-10-21 16:24:23
回答 2查看 664关注 0票数 2

我正在开发一个Spring应用程序,它允许用户将逻辑表达式上传到服务器。一个web应用程序允许他们可视化地创建表达式。这个web应用程序的结果如下所示

代码语言:javascript
运行
复制
{
  "id": "someId",
  "fullexpression": {
    "left": "a",
    "operator": "AND",
    "right": {
        "left": {
            "left": "x",
            "operator": "AND",
            "right": "y",
        }
        "operator": "OR",
        "right": "z"
    }
  }
}

上面的示例描述了表达式a和(x和y)或z)

我找到一个白龙文章,上面写着:

我们用@RequestBody注释注释的类型必须对应于客户端控制器发送的JSON。

如果我正确理解了这篇文章,就不可能直接这么做。构建允许像这样嵌套RequestBody的Spring控制器的最佳方法是什么?当然,我总是可以在客户端将JSON转换成字符串,并在rest控制器中解析它,但这看起来并不优雅。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-21 16:30:35

将RequestBody参数定义为JsonNode:

代码语言:javascript
运行
复制
public <something> myService(@RequestBody JsonNode jsonNode) {}
票数 1
EN

Stack Overflow用户

发布于 2021-10-21 16:51:48

您可以使用如下类:

代码语言:javascript
运行
复制
public class Form {
    private String id;
    private Expression fullexpression;

    // constructor, getters and setters
}

其中类表达式有左字段、运算符(字符串)和右字段。

由于左右字段的类型可以是字符串或表达式,我建议您将它们的类型设置为Map或JsonNode。但我还没试过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69665561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档