【问题标题】:RestyGWT JSON mapping with private fieldVisibilityRestyGWT JSON 映射与私有 fieldVisibility
【发布时间】:2013-08-07 04:02:02
【问题描述】:

我目前正在设计原型,将我们应用程序的基于 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 对象的私有字段的解决方案?

【问题讨论】:

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


    【解决方案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;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 2016-11-17
      • 2016-03-29
      • 1970-01-01
      • 2012-01-06
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      相关资源
      最近更新 更多