【问题标题】:I am trying to create an API using SpringBoot but I don't know how to handle json request/response我正在尝试使用 SpringBoot 创建一个 API,但我不知道如何处理 json 请求/响应
【发布时间】:2022-11-17 18:15:51
【问题描述】:

我是 Java 和 Spring Boot 的新手。我正在创建一个新的 API。 使用邮递员我发送一个包含请求标头和请求有效负载的请求正文。

然后我有一个控制器,它在 RequestPayload 类的帮助下处理请求。 (还有一个服务和 dao 文件,但我相信它们没问题。)

请让我知道我在这里错过了什么或我不知道什么。

public class RequestPayload {

    String pol_pkg_prod_code;
    JSONObject checklist;
    
    public JSONObject getCheckList() {
        return checklist;
    }
    public void setCheckList(JSONObject checklist) {
        this.checklist = checklist;
    }
    public String pol_pkg_prod_code() {
        return pol_pkg_prod_code;
    }
    public void setpol_pkg_prod_code(String pol_pkg_prod_code) {
        this.pol_pkg_prod_code = pol_pkg_prod_code;
    }

【问题讨论】:

  • 为什么要使用 RequestPayload 类处理请求。您可以创建仅包含一些注释和函数的 API。按照文档:spring.io/guides/tutorials/rest

标签: java spring spring-boot spring-mvc spring-data-jpa


【解决方案1】:

您需要一个 POJO 类来匹配您的 JSON 负载的结构,实际上是一些嵌套类。 Spring会自动将JSON解析成这个POJO。

public class Request {
    private RequestPayload reqPayload;
    // Getter Setter
}

public class RequestPayload {
    private Checklist checklist;
    // Getter Setter
}

public class RequestPayload {
    @JsonProperty("pol_pkg_prod_code")
    private String polPkgProdCode;
}

然后将它作为参数添加到 Controller 中,如下所示:

@RequestBody Request request

本教程解释得很好 https://www.baeldung.com/spring-request-response-body

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多