具有私有字段可见性的RestyGWT JSON映射

具有私有字段可见性的RestyGWT JSON映射,json,rest,gwt,spring-mvc,resty-gwt,Json,Rest,Gwt,Spring Mvc,Resty Gwt,我目前正在原型化,将应用程序基于GWT-RPC的后端替换为基于REST的API,前端使用RestyGWT,后端使用Spring MVC 我的问题发生在两个框架都试图自动解决的JavaJSON类型转换过程中。我们所有的数据对象都使用私有字段,许多字段不提供JavaBean样式的setter方法。默认情况下,两个框架都不会检查类的私有字段,因此转换失败 对于Spring MVC,通过向数据对象添加注释来解决此问题非常简单: @JsonAutoDetect(fieldVisibility = Visi

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

我的问题发生在两个框架都试图自动解决的JavaJSON类型转换过程中。我们所有的数据对象都使用私有字段,许多字段不提供JavaBean样式的setter方法。默认情况下,两个框架都不会检查类的私有字段,因此转换失败

对于Spring MVC,通过向数据对象添加注释来解决此问题非常简单:

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

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

尝试在字段中使用@JsonProperty和@JsonCreator(如果两者都是必需的,请不要忘记)

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


    public String getName()
    {
        return name;
    }

    private String name;
}

尝试在字段中使用@JsonProperty和@JsonCreator(如果两者都是必需的,请不要忘记)

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


    public String getName()
    {
        return name;
    }

    private String name;
}