gpt4 book ai didi

java - 如何使用 Unirest 以列表形式获取回复?

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:45 27 4
gpt4 key购买 nike

我的项目是使用 Spring Boot 框架用 Java 编程语言编写的。我使用 Unirest 库来获取对某些 API 的请求,并且我想以表单形式获取响应,如下所示 List<SomeResponse>下面我写了一些我尝试提出的请求示例。为什么我需要一份 list ?因为这种数据结构更加方便并且在整个庞大项目的其余部分中使用。 我尝试了各种选项来接收请求的响应,但我无法获得 List <SomeResponse>以任何方式。目前,我的努力只让我得到了一系列我需要的对象。当然,我们可以尝试将数组转换为列表,但在这里,在我看来,我们失去了速度。

 try {
SomeResponse[] SomeResponses = Unirest.post(url)
.header("Content-Type", "application/json")
.header("Authorization", key)
.body("[\"" + address + "\"]")
.asObject(SomeResponse[].class)
.getBody();
return Result.ok(SomeResponses);
} catch (UnirestException e) {
return Result.error("Error in call API " + url);
}

此外,我还配置了 Jackson 库,该库在 POJO 类中序列化我们响应请求时收到的 JSON 格式。也许您可以告诉如何正确配置映射器,以便它可以接受并序列化此响应。

关于库和框架版本的几句话。我使用 Gradle 来构建和管理依赖项。

org.springframework.boot:spring-boot-starter:2.0.0.RELEASE
com.fasterxml.jackson.core:jackson-databind:2.10.1
com.mashape.unirest:unirest-java:1.4.9

非常感谢您的回答!附:抱歉,这个问题的结构可能很糟糕,但这是我第一次在这个平台上写问题,我保证将来会让我的问题变得更好。

最佳答案

替换 SomeResponse[].classasObjectGenericType<List<SomeResponse>>目的。

try {
List<SomeResponse> someResponses = Unirest.post(url)
.header("Content-Type", "application/json")
.header("Authorization", key)
.body("[\"" + address + "\"]")
.asObject(new GenericType<List<SomeResponse>>() {})
.getBody();
return Result.ok(someResponses);
} catch (UnirestException e) {
return Result.error("Error in call API " + url);
}

关于java - 如何使用 Unirest 以列表形式获取回复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com