java - 使用 dto 中的对象数组构建 HttpMethod POST 请求

标签 java spring-boot rest post http-method

我需要将一个对象数组作为请求正文发送到 POST API,如下所示。

[{
 "k1": "v1",
 "k2": "v2",
 "k3": 1
  }]

我的 dto 文件如下所示

public class Request {

    @JsonProperty("k1")
    private String k1;

    @JsonProperty("k2")
    private String k2;

    @JsonProperty("k3")
    private int k3;

    //setters and getters

    //override toString
    public String toString() {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        return gson.toJson(this);
    }

}

我的客户端实现如下所示

final HttpEntity<Request> httpEntity = new HttpEntity<Request>(requestBody, headers);

final ResponseEntity<String> responseEntity = restTemplate.exchange(URI, HttpMethod.POST, httpEntity, String.class);

现在我需要帮助来构建 requestBody

作为一名 JS 开发人员,我对 Java 相当陌生。所以,请善待。谢谢。

最佳答案

提到 JSON

[{
 "k1": "v1",
 "k2": "v2",
 "k3": 1
  }]

Request对象的列表。所以这个 requestBody 对象必须类似于 -

List<Request> requestBody = //your logic to build this variable;

更改 httpEntity 以接受此请求正文:

final HttpEntity<List<Request>> httpEntity = new HttpEntity<List<Request>>(requestBody, headers);

更新:构建 requestBody 变量的示例:

Request request1 = new Request("v1", "v2", 1);

List<Request> requestBody = new ArrayList<>();
requestBody.add(request1);

关于java - 使用 dto 中的对象数组构建 HttpMethod POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62226372/

相关文章:

JavaScript REST 客户端和 session 管理

java - 复杂对象作为java Rest应用程序中的查询参数

java - 如何让 dbunit 与 MySQL 枚举数据类型配合使用?

spring - 如何在 Spring Boot 2 JPA 应用程序中选择 InnoDB 或 XtraDB 作为 MariaDB 中的存储引擎

java - Android 触摸事件 - 具有向上向下和移动事件

spring - 使用 Elasticsearch 和 Spring Data 确定新闻源的优先级

java - 数据库对象POJO中的文件(Springboot)

rest - 当 REST POST 提供 ID 时该怎么办?

java - Android Flash 杂志应用

java - 使用 WebLogic 11g 实现代理