具有私有fieldVisibility的RestyGWT JSON映射

时间:2013-08-06 08:31:00

标签: json rest gwt spring-mvc resty-gwt

我目前正在使用前端的RestyGWT和后端的Spring MVC将基于GWT-RPC的应用程序后端替换为基于REST的API进行原型设计。

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

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

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

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

1 个答案:

答案 0 :(得分: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;
}