gpt4 book ai didi

java - 如何在Spring Boot Controller 中验证请求体的字段(自定义Jackson)

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:34 25 4
gpt4 key购买 nike

SpringBoot Controller 使用@RequestBody,它是一个bean类,例如它是一个带有字段列表的类Basket。其中一些字段是只读的,当用户尝试发送更新它们的请求时,我想抛出异常。

我使用自定义@ReadOnly注释来标记类Basket的只读字段。我想在 Jackson 构造对象 Basket 时以某种方式自定义 Jackson - 它应该使用注释分析 bean,并在传入的 JSON 包含只读字段时抛出异常。

请不要建议 JSR-303 Bean 验证。

最佳答案

您可以编写自定义反序列化器,并可以使用以下代码访问注释并编写抛出异常的逻辑。

for (Field f: Basket.class.getFields())     {  
ReadOnly readOnly = f.getAnnotation(ReadOnly.class);
if (readOnly != null)
// your logic can go here.
}

关于java - 如何在Spring Boot Controller 中验证请求体的字段(自定义Jackson),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43021180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com