提问者:小点点

JavaSpring Boot的问题-"无法从String转换为String[]"


我试图使用外部API,但它返回一个错误,我不理解。

这是代码:

访问API-(https://swapi.dev/)-这是我的控制器问题出在哪里


共1个答案

匿名用户

如果我没有错,看起来您正在尝试将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数组时,您正在尝试将属性字符(String)分配给变量人物(String[])

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

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