java - 选择和取消选择参数作为 JSON 的输出,具体取决于 java 中的传入请求

标签 java

例如,我有一个传入请求,其 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 将调用 ListAreaTileArea

关于java - 选择和取消选择参数作为 JSON 的输出,具体取决于 java 中的传入请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243473/

相关文章:

java - 如何计算正则表达式捕获组的次数?

java - 发布/订阅模型中事件回调的 Scala 初始化

java - Java 6 在 JDK、JVM 或两者中的性能改进是什么?

java - 如何使用compareTo()方法比较List中的对象?

java - 增加java中单个工作线程的堆栈空间

java - 当我尝试在我的 Web 应用程序中创建超过 250 个线程时,出现无法获取连接、池错误超时等待空闲对象的问题

java - 如何用Java和Webdriver处理过大的页面对象?

Java 和 float

java - 我需要显式插入 spring-core 模块吗?

java - 使用这个系统有什么问题吗?