仅将@JsonIgnore用于生产,但在测试中它应该在那里

我在 Kotlin 中有一个这样的(数据)类。
在使用活动 Spring 配置文件运行应用程序时,live我只想返回name.
但是运行具有活动 Spring 配置文件的应用程序test,我想version显示出来,这样我就可以测试我是否得到了正确的版本。

data class MyClass( 

 val name: String

 @JsonIgnore
 val version: Number

)

有可能吗?

回答

您可以使用不同的Jackson JSON 视图进行测试和生产环境。

data class MyClass( 
 @JsonView(Views.Prod.class,Views.Test.class)
 val name: String

 @JsonView(Views.Test.class)
 val version: Number

)

并且您必须通过基于环境传递视图来手动处理序列化/反序列化。

MyClass class = mapper
      .readerWithView(Views.<Required-view>.class)
      .forType(MyClass.class)
      .readValue(json);
String result = mapper
      .writerWithView(Views.<Required-view>.class)
      .writeValueAsString(class);


以上是仅将@JsonIgnore用于生产,但在测试中它应该在那里的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>