我将我的项目代码移到了JavaONE 4.0之后的JavaONE,并意识到我对eclipelink和moxy有一个maven编译和bundle依赖。 (现在应该在GS4中提供这两者)。同样,由于Moxy现在是JSON序列化的默认JAXB提供程序,我想删除此编译/提供的依赖项。但是我需要将提供程序配置为不输出" @"对于属性前缀。
如果没有对提供程序进行反射查找,除了具有编译时依赖性之外,还有另一种方法吗?
在我做以下事情之前...
MOXyJsonProvider moxyJsonProvider = new MOXyJsonProvider();
moxyJsonProvider.setAttributePrefix("");
在我的申请中。
答案 0 :(得分:0)
您可以使用Jersey依赖项而不是MOXy依赖项执行以下操作。
import javax.ws.rs.ext.*;
import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
@Provider
public class MOXyJsonContextResolver implements ContextResolver<MoxyJsonConfig> {
private final MoxyJsonConfig config;
public MOXyJsonContextResolver() {
config = new MoxyJsonConfig()
.setAttributePrefix("");
}
@Override
public MoxyJsonConfig getContext(Class<?> objectType) {
return config;
}
}
了解更多信息
<强>更新强>
我在你提到的问题的评论部分注意到你尝试过这种方法而没有成功。你能发布你试过的吗?