Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 使用伪客户端调用第三方API时,无法反序列化'java.util.ArrayList'的实例,因为该实例超出了START\u对象标记_Spring Boot_Spring Cloud Feign - Fatal编程技术网

Spring boot 使用伪客户端调用第三方API时,无法反序列化'java.util.ArrayList'的实例,因为该实例超出了START\u对象标记

Spring boot 使用伪客户端调用第三方API时,无法反序列化'java.util.ArrayList'的实例,因为该实例超出了START\u对象标记,spring-boot,spring-cloud-feign,Spring Boot,Spring Cloud Feign,我正在使用外部客户端调用第三方搜索api。下面是我调用第三方URL的代码: @FeignClient(url="http://api.giphy.com/v1/gifs", name="GIPHY-CLIENT") public interface GipherSearch { @GetMapping("/search?api_key=QPayNCt8xoMomlYfVdySXOEGxAxXfiV2&q=cheeseburgers&limit=5") publi

我正在使用外部客户端调用第三方搜索api。下面是我调用第三方URL的代码:

@FeignClient(url="http://api.giphy.com/v1/gifs", name="GIPHY-CLIENT")
public interface GipherSearch {
    @GetMapping("/search?api_key=QPayNCt8xoMomlYfVdySXOEGxAxXfiV2&q=cheeseburgers&limit=5")
     public List<DataModel> getData();
}
为了解决这个异常,我正在浏览下面的url,并做了必要的更改。但仍然没有取得实际效果

https://reflectoring.io/accessing-spring-data-rest-with-feign/
请让我知道我在哪里出错。

不匹配PutException表示您得到了错误的响应正文,Jackson试图对其进行解析,比如一个对象JSON{…},但您应该收到一个JSON对象数组[{…}],然后,当您开始搜索时,尝试检查响应是什么,并比较您的响应是否为列表如果DataModel包含所有需要的字段,以及当您有api_key、q和limit等请求参数时,您应该通过以下方式实现:

@GetMapping("/search")
public String getData(@RequestParam(value = "api_key", defaultValue = "QPayNCt8xoMomlYfVdySXOEGxAxXfiV2") String apiKey,
                      @RequestParam(value = "q", defaultValue = "cheeseburgers") String q,
                      @RequestParam(value = "limit", defaultValue = "5") String limit);

好啊我做了更改:@FeignClienturl=,name=GIPHY-CLIENT公共接口GipherSearch{@GetMapping/search?api_key=Qpaynct8xommlyfDysxOegxaxxfiv2&q=cheeseburgers&limit=5公共列表getData@PathVariableapi_keyString api_key、@PathVariableq String searchValue、@PathVariablelimit int limit;但是当我调用外部客户端时,我需要这样调用。@GetMapping/findAllGipher/{api_key}/{q}/{limit}公共列表getAllGipher@PathVariableapi_keyString api_key、@PathVariableq String searchValue、@PathVariablelimit int limit{return gipherSearch.getData api_key、searchValue、limit;}如果要执行此操作/{api_key}/{q}/{limit}好的,但这不是必需的,因为您可以将值传递为null,默认值将是您添加的值。我有一个问题。我需要从控制器类调用接口方法。因此,在这种情况下,它将在调用inter-face方法时询问控制器中的一些参数。我将传递什么值以及“q”参数值是search param的值,但它不是固定的。好吧,没问题,你想做什么,你得到了什么错误?它是相同的?如果是相同的,那么尝试检查所有字段和/或从/api.giphy.com/v1/gifs发送的对象JSON,因为你得到了该异常。
https://reflectoring.io/accessing-spring-data-rest-with-feign/
@GetMapping("/search")
public String getData(@RequestParam(value = "api_key", defaultValue = "QPayNCt8xoMomlYfVdySXOEGxAxXfiV2") String apiKey,
                      @RequestParam(value = "q", defaultValue = "cheeseburgers") String q,
                      @RequestParam(value = "limit", defaultValue = "5") String limit);