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

如何控制Spring Request estBody将JSON请求正文转换为对象?

顾靖
2023-03-14

Spring@Request estBody注释自动将JSON请求正文转换为Object。转换过程对我们来说似乎是一个黑匣子。但是,我需要控制转换过程以使我预期的无效输入失败。

请看下面的代码。JSON请求正文包含一个带有大写字母的“id”字符串。当Spring自动将其转换为UUID对象时,就会成功。

// the controller
public class IndexController {
    ...
    public ResponseEntity<Void> postIndexes(@ApiParam(value = INDEXES_DESC, required = true) @Valid @RequestBody @Size(min = 1, max = 2000) List<Index> indexes) {
        ...
    }
    ...
}

// the Index class
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Index implements Serializable {
    @ApiModelProperty(value = ID_DESC, example = SINGLE_ID)
    @NotNull
    private UUID                id;
    ...
}

// the input JSON request body
[
    {
        ...
        "id": "40336c2b-591a-4472-a270-111111A46339",
        ...
    }
]

但是,我希望这种带有大写字母的输入失败。不知道@Request estBody注释神奇地做了什么。看起来它使用UUID. fromString()将字符串输入转换为UUID对象。但是我想对转换过程进行一些控制以使其失败。

共有1个答案

宗啸
2023-03-14

也可以检查属性编辑器。

 类似资料:
  • 问题内容: 我正在尝试找到一个Java lib / api,它将允许我将HTTP Request POST主体的内容转换为JSON对象。 理想情况下,我想使用Apache Sling 库(因为它们自然暴露在我的容器中)。 我找到的最接近的文件:将标头转换为JSON。 HTTP Post正文采用以下格式:所以我认为那里有些东西,但是我还没找到。 如果某些东西不存在,我可能只需要使用自定义()即可。有

  • 我有一个字符串(jsonData)通过Jackson对象映射器映射到json,如下所示,映射到JaxB。 我能够很好地映射到上面的字符串。然而,我在映射到jooq JSON对象时遇到了问题。我想我现在必须将jsonData转换为jooq JSON。 我该怎么做? 或者我必须创建某种包装? 由jooq配置的DTO

  • 我试图隐藏一个卷曲来吞咽请求,这里是卷曲请求。 以下是JSON部分:

  • 我有一个Kafka信息流,想建立一个

  • 我向我的flask应用所在的服务器发出了python post请求。它运行良好,我能够获得所需的数据。 但我想用POSTMAN测试API。我无法做到这一点,因为在某种程度上我对邮递员并不熟悉。 下面是我的python代码。 我正在努力解决这样一个问题:我试图发布到服务器上的数据和文件应该是原始json还是表单数据,或者是正文的x-www-form-urlencoded部分。还有实际的结构应该是什么

  • 问题内容: 我有一个看起来像这样的JSON对象: 我想将其转换为如下所示的HTML表: 谁能告诉我如何实现这一目标? 问题答案: 使用jQuery非常简单: 这是工作提琴的链接。 更新: 实现此目的的另一种方法是使用称为dynatable的库将JSON转换为可排序的表。