Jakarta ee 是否可以覆盖自定义对象序列化

Jakarta ee 是否可以覆盖自定义对象序列化,jakarta-ee,swagger,Jakarta Ee,Swagger,我一直在测试swagger,以便将其用作api服务的实际文档。 我使用hibernate作为持久层,每个响应都绑定到一个实体。 问题是这些实体与其他实体之间存在依赖关系,我希望在@ApiOperation响应中传递对象时,协调swagger以不显示这些实体。 我唯一能在网上找到的就是这一页 我尝试过这样做: String emptyJSON = "{}"; OverrideConverter addressConverter = new OverrideConverter(); addressC

我一直在测试swagger,以便将其用作api服务的实际文档。 我使用hibernate作为持久层,每个响应都绑定到一个实体。 问题是这些实体与其他实体之间存在依赖关系,我希望在@ApiOperation响应中传递对象时,协调swagger以不显示这些实体。 我唯一能在网上找到的就是这一页

我尝试过这样做:

String emptyJSON = "{}";
OverrideConverter addressConverter = new OverrideConverter();
addressConverter.add(User.class.getCanonicalName(), emptyJSON);
ModelConverters.addConverter(addressConverter, true);
但我得到了这个错误:

org.json4s.package$MappingException:未找到可转换为java.lang.String的值


当我发现某些类是字段或列表中的类时,有没有一种方法可以避免序列化它们,以及如何进行序列化?

好的,看来您可以使用

 OverrideConverter sessionConverter = new OverrideConverter();
 sessionConverter.add(Session.class.getName(), emptyJSON);
 ModelConverters.addConverter(sessionConverter, true);
用于全局避免序列化。 另外,如果您需要避免内部对象序列化,那么只需将所有getter方法更改为其他方法,似乎swagger使用的是getter,而不是反射,这在我看来很糟糕。
希望对您有所帮助

好的,这样您就可以使用

 OverrideConverter sessionConverter = new OverrideConverter();
 sessionConverter.add(Session.class.getName(), emptyJSON);
 ModelConverters.addConverter(sessionConverter, true);
用于全局避免序列化。 另外,如果您需要避免内部对象序列化,那么只需将所有getter方法更改为其他方法,似乎swagger使用的是getter,而不是反射,这在我看来很糟糕。
希望这对您有所帮助

如果您使用的是Jackson,您能用@JsonIgnore注释它们吗?如果您使用的是Jackson,您能用@JsonIgnore注释它们吗?