当前位置: 首页 > 知识库问答 >
问题:

Spring静止响应进入阵列

司徒俊健
2023-03-14

因此,我正在开发一个REST应用程序,并完成了返回json/xml的服务。我有一个列表,我想把它读入数组。它是从如下GET请求返回的

http://localhost:8080/todo

我可以遍历

http://localhost:8080/todo/get/1

并且只是通过大小来做到这一点,但我想看看我是否可以将整个响应放入数组中。它是一个 json 响应,如下所示:

[{"id":1,"task":"Assemble Team"},{"id":2,"task":"Determine Roles"},{"id":3,"task":"Split Up Work"},{"id":4,"task":"Do Individual Tasks"},{"id":5,"task":"doit"}]

现在我用Spring Boot,它看起来像

int i = restTemplate.getForObject("http://localhost:8080/todo/size", int.class);
        System.out.println("Size: " + i);
        Task quote = restTemplate.getForObject("http://localhost:8080/gs-rest-service-0.1.0/todo/get/3", Task.class);

那是为了得到其中一个物体。但是有没有一种方法可以将整个json列表读入一个数组之类的东西,而不是迭代遍历,为列表上的每一项调用GET请求?

我应该创建另一个类来保存任务类的数组列表(它只有一个id和任务字符串,以及标准的getter/html" target="_blank">setter)吗?我不知道这是如何工作的。

我试着用一个类来保存一堆“引号”:

 @JsonIgnoreProperties(ignoreUnknown = true)
public class Value {

private List<Quote> Q = new ArrayList<Quote>();

public Value() {

}

public List<Quote> getQuote() {
    return this.Q;
}


public void setList(List<Quote> quote) {
    this.Q = (ArrayList<Quote>) quote;
}

@Override
public String toString() {
    return Q.toString();
}

在主要部分:

Value V = restTemplate.getForObject("http://localhost:8080/todo", Value.class);

但我只是得到

 Can not deserialize instance of hello.Value out of START_ARRAY token

谢了。

共有1个答案

翟凯
2023-03-14

利用Rest模板中可用的交换方法。

ResponseEntity<List<Quote>> res = template.exchange(
rootUrl,
HttpMethod.GET,
null,
new ParameterizedTypeReference<List<Quote>>() {});
 类似资料:
  • 问题内容: 我是春季新手,正在编写REST API。我/要删除时收到403禁止的错误。以下是我正在研究的示例。 问题答案: 只需在web.xml中添加这些过滤器行即可。

  • 我是spring的新手,我正在编写REST API。我/得到了403个删除,放入的禁止错误。下面是我正在做的样本。

  • 问题内容: 我知道这看起来像是一个先前提出的问题,但是我在这里面临另一个问题。 我有一个只有静态方法的实用程序类。我不会,也不会从中获得实例。 现在我需要Spring用数据库属性Properties填充dataBaseAttr.Spring的配置是: 我已经在其他bean中做到了,但是此类(Utils)中的问题不是bean,如果我将其变成bean,则没有任何变化,但我仍然无法使用变量,因为该类不会

  • 当结合使用SpringWebFlux和Kotlin协同程序时,我很难理解一个简单的RESTfulWS响应处理场景。假设我们在REST控制器中有一个简单的WS方法,该方法可能返回大量(数百万)响应“things”: 这正如人们所期望的那样:只要使用流媒体类型(例如“application/x-ndjson”),结果就会流式传输到客户端。在更复杂的服务调用中,也考虑了错误/警告的可能性,我希望返回以下

  • 我想要实现的是,我有一个来自UI的REST调用,它调用添加一个用户。因此,用户必须执行异步队列(这是一个约束),但在将结果发送回UI之前,必须等待响应队列一段配置的时间并对其进行处理。如果队列返回时引用号为空,那么我必须删除用户记录并抛出异常,说明用户无效。如果响应返回时引用有效(或者超时发生),那么我假设它有效并返回success。 我有一个应用程序,我在其中发送一条队列消息,以获取我的用户对象