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

是否应该在同一个对象中使用@NotNull和@JsonProperty(必需)

范霄
2023-03-14

因此,我正在考虑向json视图添加约束。

我有和这门课相似的课

public class Person {
    @JsonProperty(required = true)
    @NotNull
    @Size(max = 50)
    private String name;
}

我应该保留@JsonProperty(required=true)@NotNull吗?还是应该删除一个,为什么?

只是为了清楚,因为Jackson 2.6@JsonProperty(必需=true)确实会抛出异常。

我正在使用springfox-swagger,看起来当我删除@JsonProperty(必需=true)时,swagger中的字段被标记为可选,而不是。

我只是想知道这种情况下的最佳做法。

共有1个答案

施华奥
2023-03-14

在字段或方法上使用@JsonProperty并将required设置为true时,Jackson不会执行任何验证。有关更多详细信息,请参阅文档。

出于验证目的,请考虑Bean验证中的@NotNull执行验证需要验证提供程序,例如Hibernate Validator)。

使用Swagger,您还可以使用@ApiModelProperty并将required设置为true,以指示字段是必填字段。

 类似资料:
  • 我们正在为Android和iOS开发应用程序。我们正在实现firebase analytics和Crashlytics。我不确定我们是否要创造差异。google-services.json适用于iOS和android还是应该在两者中使用same?

  • 我从A类中创建了三个对象。所有这三个对象都可以更新存储在A类私有静态易失性变量中的值。更新该变量是在具有特定条件的同步块中完成的。我想通过使用锁对象来同步块。 因此,首先在MainClass中创建对象 在这之后,物体开始过自己的生活。这是我的a班的一个简化例子。 如果我希望同步块与类A的所有实例和所有线程同步,我应该将lockObject声明为私有静态易失性吗?如果我使用类(this)来同步块,它

  • 我有一个平面文件阅读器类,它从dat文件中读取,创建存储在其唯一arraylist中的person、customer和product对象,我必须将其用于getInvoice方法。当从invoice dat文件中输入新属性时,我只为从invoice dat文件中读取的产品创建一个新的产品列表。这似乎运行良好,但是每个发票对象上的一些产品属性正在被更改。 当用product arraylist作为字段

  • AccessibilityService在系统的内存管理方面与普通服务有何不同? 我想问的是:系统可以为了节省内存而关闭AccessibilityService吗?如果可以,当您进入AccessibilityService时,您会看到它打开还是关闭?用户是否必须再次手动打开? 使用startForeground是否有助于使AccessibilityService保持活动状态? 在一个类似的问题中,

  • 这是我所拥有的:我们有2个应用程序,一个生产和一个消费。两者都运行在不同的JVM上。它们向持久主题发送消息,并使用相同的ClientId。 我想知道在JMS 2.0规范下是否允许这样做,以及在Artemis中这样做是否可以。 在消费方面,我有一个连接工厂 在实例化ActiveMQConnectionFactoryBean时,我通过以下方法在工厂上设置clientID:<code>。setClien