当前位置: 首页 > 知识库问答 >
问题:

用Spring Boot和PostgreSQL发布JSON Blob

沈茂
2023-03-14
{
  "portal_name": "test",
  "app_name": "test",
  "app_owner": "test",
  "app_submitter": "test",
  "onboarding_form_blob": [
    {
      "newSplunkRow": "test"
    }
  ]
}
Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON document: Can not deserialize instance of java.lang.String out of START_ARRAY token

这是Blob的控制器的外观:

@Column(name = "onboarding_form_blob")
private String onboarding_form_blob;

这些是Getters和setters:

public String getOnboarding_form_blob() {
            return onboarding_form_blob;
        }

public void setOnboarding_form_blob(String onboarding_form_blob) {
            this.onboarding_form_blob = onboarding_form_blob;
        }

共有1个答案

应志用
2023-03-14

不完全确定你的控制器是什么样子的。如果您提供控制器中方法的完整签名和完整Blob类,将会很有帮助。但我猜它看起来是这样的?

如果是这样:那么@Veeram是对的。问题是newSplunkRow的getter和setter需要一个字符串,而您发送的数组包含一个对象,而不是该字符串。

您可以通过更改控制器或更改发送的JSON以匹配控制器来修复它。什么是最好的取决于您试图发送的数据,以及您在收到数据后想要做什么。(从@column注释中,我猜您要将其存储在数据库中?您的表是什么样子的?)

 类似资料:
  • 我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。

  • 我有一个springboot应用程序,当我在intellij内部运行时,它不与JSP一起工作,但当生成一个JAR时,它就不工作了。它给出了这个错误。 Whitelabel错误页面此应用程序没有 /error的显式映射,因此您将其视为后备方案。 IST 2018年5月21 00:23:11星期一出现意外错误(类型=未找到,状态=404)。没有可用的消息 JSP文件存在于src/main/resour

  • 我正在开发一个迁移软件,它将使用来自REST服务的未知数据。 我已经考虑过使用MongoDB,但我决定不使用它,而是使用PostgreSQL。 读完本文后,我试图在我的SpringBoot应用程序中使用SpringJPA实现它,但我不知道在我的实体中映射。 我试过了,但什么也不懂! 这里就是我所在的地方: 和... 下表: 我该怎么做? 注意:我不想/不需要一个实体来工作。我的JSON将永远是St

  • 构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stage 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。 如果需要自定义构建,比如指定 dist 目录等,则需要通过 co

  • 打包和部署, 我们必须要会. 我们要有追求,做一个会运维的编程好手. 做个DevOps. 就算公司有明确要求, 部署专门有运维人员,我们在他们做部署时,也要搬个板凳过去旁观,参与. 运维人员也特别乐于开发人员陪他们一起发布.

  • 发布和订阅 Meteor 服务端可以通过Meteor.publish发布文档集,同时客户端可以通过Meteor.subscribe订阅这些发布。 任何客户端订阅的文档都可以通过find方法进行查询使用。 默认情况下,每个新创建的 Meteor 应用包含有 autopublish 包,它会自动为每个客户端发布所有可用的文档。 为了可以更细化的控制不同客户端所接收的数据文档,首先应该在终端移除 aut