发现类型嵌套的时候无法获取zIndex参数值。

@Data
public class ScreenVo {
    DatavScreen datavScreen;
    List<DatavScreenItem> screenItems;
}


@Data
public class DatavScreenItem extends Model<DatavScreen> {
    
    private String compId;

    //@JsonProperty("zIndex")
    @TableField("z_index")
    private Integer zIndex;

    @JsonProperty("zIndex")
    public Integer getzIndex() {
        return zIndex;
    }
}

添加@JsonProperty("zIndex")注解解决问题。

参考:

1) 如果没有使用fastjson(阿里巴巴出品),使用@JsonProperty(“XXXX”)的注解方式可以解决问题,XXXX就是转换成Json的属性名,但注意,只有放在getter上才是有效的,直接在属性上加没效果.(这说明spring 默认的jackson类库处理是基于访问器。
2)如果使用了fastjson,就用@JSONField(name=“XXXXX”)注解方式进行,这个可以放在属性上。不过放在getter,setter上更好。
3)如果同时有两个存在,一般都是fastjson起效果,不过具体情况可以试下,我遇到的就是fastjson起效。当然要强制失效fastjson,就需要在Application类上加注解:@EnableWebMvc.