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

如何忽略Spring Boot中Post请求正文中的Null值

罗俭
2023-03-14

我正在用POST动词调用REST服务。动态构造请求后正文。在某些情况下,很少有字段会填充空值。即使我将我的请求pojo与JsonInclude(Include.NON\u NULL)或JsonInclude(JsonInclude.Include.NON\u NULL)一起使用,也不会删除空值字段。

我的示例请求如下所示。

我自己构造requestEntity,在发布之前不解析它。

resetTemplate.exchange(uri,HTTP.POST,requestEntity,responseObject)

如何在具有null值的请求正文文件中删除

我使用的是Spring Boot 1.5.9,它使用的是Jackson 2。x个

共有2个答案

房育
2023-03-14

只需使用此JsonSerialize(include=include.NON\u NULL)而不是JsonInclude(include.NON\u NULL),它就可以工作了。。!!

注:<代码>com。fasterxml。杰克逊。数据绑定。注释。JsonSerialize。现在不推荐包含。

那存
2023-03-14

@JsonInclude(Include.NON\u NULL)应该适合您!

您似乎是自己构造请求实体,不确定是否传递了非空的JSON字符串。如果您使用Jackson注释进行了注释,请直接使用entity尝试此操作。

restTemplate.postForEntity(uri, requestDto, ResponseDto.class);
 类似资料:
  • 问题内容: 我现在使用的代码: 似乎工作正常,但我不确定在将ByteBuffer返回池之前是否需要ByteBuffer。我什至不确定要使用。文档中没有太多关于它的内容。 问题答案: 读取请求正文的一种更简单的方法是将其分派到一个工作线程,该工作线程可以使用。 有两种方法:使用或文档中所示的调度模式。这是使用的示例: 在基本上没有派遣你。

  • 我已经写了下面的代码发送头,张贴参数。问题是我使用的是SendAsync,因为我的请求可以是GET或POST。我如何将POST Body添加到这个peice代码中,这样,如果有任何POST Body数据,它就会被添加到我发出的请求中,如果它是简单的GET或POST而没有Body,它就会以这种方式发送请求。请更新以下代码:

  • 我试图使用Swagger来记录一个API POST调用,它有一个对象数组参数。但是当我试图在Swagger UI中测试它时,似乎在中被忽略了。这是我的代码: 反而? OpenAPI 3.0.2“Encoding Object”文档指出,如果请求体媒体类型不是application/x-www-form-urlencoded,则“忽略属性”。但是我们在这里使用的是application/x-www-

  • 在我的请求正文中,几乎没有JSON原始数据中需要的参数,我希望在Postman中的请求前脚本中验证这些参数是否存在于正文中。 如何检查请求正文中是否传递了和?

  • 问题内容: 我想通过PHP 在Blogger博客中添加帖子。Google提供了以下示例。如何在PHP中使用它? 您可以通过向带有帖子JSON正文的帖子集合URI发送POST请求来为博客添加帖子: 问题答案: 您需要使用cURL库发送此请求。 如果由于某种原因您不想/不想使用cURL,可以这样做:

  • 只是为了学习目的,我使用处理程序将所有超文本传输协议请求记录到我的Web API 2应用程序。 这只是打印请求标头如下: 但是我也在POST正文中发送一个json对象,它没有打印。我想打印标题和正文。此外,我在调试时找不到任何东西在'HttpquiestMessage'对象。