Spring Boot Java Sping Boot 的问题-“无法从String转换为String [ ]”

dgtucam1  于 2023-04-30  发布在  Spring
关注(0)|答案(1)|浏览(178)

我试图使用外部API,但它返回了一个我不理解的错误。
Here is the code:
访问API -(https://swapi.dev/)-这是我的控制器Where the problem is

ctehm74n

ctehm74n1#

如果我没猜错的话,看起来像是你试图将一个String(字符串类型)值赋给一个声明为String[](字符串数组类型)的变量。
定义以下类

public class Filme {

    //... other attributes
    private String characters;
    //...

    // the following getter returns an `String` which is correct because attribute
    // `character` is declared as a `String`
    public String getCharacters() {
        return characters;
    }
    //... other setters and getters

}

然后当你从一个服务得到一个Filme的数组时,你试图将属性characters(String)赋给变量personagens(String[])

// personagens is of type `String[]` (array of String) 
// mean while `filme.getCharacters()` return a `String` (a String)
String[] personagens = filme.getCharacters()

根据您正在使用的端点的文档,它说charactersarray。所以,当你试图将json反序列化为一个对象时,可以将该属性作为一个String获取,但在应用的逻辑中,你试图迭代它。所以,我认为你真正想做的是将characters属性的类型从String更改为String[]。之后,您需要修复该属性的getter的返回类型

相关问题