java - 如何手动附加到响应数据包 lombok

标签 java lombok

我是在 java 中使用 lombok 库的新手。我有一个项目列表,我试图将其附加到我的回复中,如下所示:

for(Inbox msg:messages) {           
    resp = resp.builder().name(userName).subject(msg.getTitle()).build();
    serverHandle.getLog().info(resp.toString());
}

但是,这不会追加条目,它只是覆盖现有记录。有没有办法添加到响应中?

最佳答案

不幸的是,这是不可能的。

假设这是您的响应类:

@Getter
@Setter
@Builder
public class Response {
    private String name;
    private String subject;
}

然后lombok为您介绍这个:

public class Response {
    private String name;
    private String subject;

    Response(String name, String subject) {
        this.name = name;
        this.subject = subject;
    }

    public static Response.ResponseBuilder builder() {
        return new Response.ResponseBuilder();
    }

    public String getName() {
        return this.name;
    }

    public String getSubject() {
        return this.subject;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public static class ResponseBuilder {
        private String name;
        private String subject;

        ResponseBuilder() {
        }

        public Response.ResponseBuilder name(String name) {
            this.name = name;
            return this;
        }

        public Response.ResponseBuilder subject(String subject) {
            this.subject = subject;
            return this;
        }

        public Response build() {
            return new Response(this.name, this.subject);
        }

        public String toString() {
            return "Response.ResponseBuilder(name=" + this.name + ", subject=" + this.subject + ")";
        }
    }
}

正如您所看到的,每个 builder 都会创建一个 ResponseBuilder 的新实例

public static Response.ResponseBuilder builder() {
    return new Response.ResponseBuilder();
}

关于java - 如何手动附加到响应数据包 lombok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825304/

相关文章:

java - Lombok IntelliJ 集成

java - twitter4j - 如何配置?

java - 工具提示文本根据鼠标悬停在文本框中的单词而变化?

java - 如何使用 Spring Boot Rest Controller 返回 JSONArray?

当构建器将属性显式设置为 null 时,Lombok 设置默认值

gradle - AspectJ + Gradle + Lombok 不起作用

java - 如何调试 lombok 对象

java - ActiveMQ 消费者挂起

proguard 混淆后的 java.lang.NoClassDefFoundError

java - Spring Boot - Rest Controller 在使用 Lombok 时返回空对象