例如,我有一个传入请求,其 URL:“/cid/{cid}/{action}”
对于路径变量 {action},我可以有两个值,即 {action}:1)list 2)tile
带有 JSON 输出参数的 POJO 类如下:
public class Area {
private Integer aId;
private String aName;
private Integer allSpaces;
private Integer violated;
private Integer percent;
private Integer level;
private List<Space> space = new ArrayList<Space>(); // this List should be depend on condition
public Area(Integer aId, String aName, Integer allSpaces, Integer violated, Integer percent, Integer level) {
this.aId = aId;
this.aName = aName;
this.allSpaces = allSpaces;
this.level = level;
this.violated = violated;
this.percent = percent;
}
public Integer getaId() {
return aId;
}
public void setaId(Integer aId) {
this.aId = aId;
}
public String getaName() {
return aName;
}
public void setaName(String aName) {
this.aName = aName;
}
public Area addSpace(Space s) {
space.add(s);
return this;
}
public List<Space> getSpace() {
return space;
}
public void setSpace(List<Space> space) {
this.space = space;
}
public Integer getAllSpaces() {
return allSpaces;
}
public void setAllSpaces(Integer allSpaces) {
this.allSpaces = allSpaces;
}
public Integer getViolated() {
return violated;
}
public void setViolated(Integer violated) {
this.violated = violated;
}
public Integer getPercent() {
return percent;
}
public void setPercent(Integer percent) {
this.percent = percent;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
}
我的输出不应包含 action =list 的参数 private List space = new ArrayList()
,但应显示 action=tile 的参数.
如果有人能帮助我解决这个问题,那将会有很大帮助。
最佳答案
如果类被序列化,并且您希望在序列化为 JSON 时排除空格
,则可以将其标记为transient
。
private transient List<Space> space = new ArrayList<Space>();
如果您想决定是否发生这种情况,您可以对 Area
进行子类化
因此,您的 Controller 将调用 ListArea
或 TileArea
。
关于java - 选择和取消选择参数作为 JSON 的输出,具体取决于 java 中的传入请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243473/