1

我目前正在制作原型,将我们应用程序的基于 GWT-RPC 的后端替换为基于 REST 的 API,在前端使用 RestyGWT,在后端使用 Spring MVC。

我的问题发生在两个框架都试图自动解决的 Java <-> JSON 类型转换期间。我们所有的数据对象都使用私有字段,而且很多字段不提供 java bean 样式的 setter 方法。默认情况下,两个框架都不会检查类的私有字段,因此此转换失败。

对于 Spring MVC,通过向数据对象添加注释来解决这个问题很简单:

@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)

对于 RestyGWT,我还没有找到合适的修复方法。我发现唯一可用的解决方法是使用对所有字段和构造函数的默认访问,这远非理想。有没有人有允许 RestyGWT 检查 Java 对象的私有字段的解决方案?

4

1 回答 1

1

尝试在您的字段上使用 @JsonProperty 和 @JsonCreator(如果两者都需要,请不要记住)。

public abstract class Parent 
{    
    @JsonCreator
    public Parent(@JsonProperty("name") String name)
    {
        this.name = name;
    }


    public String getName()
    {
        return name;
    }

    private String name;
}
于 2013-08-20T13:11:56.697 回答