快速API错误:期望的是BEGIN_ARRAY,但是在第1行第2列路径$上使用了RETROFIT,结果是BEGIN_OB



我正在使用Covid Tracker快速API的食谱应用程序项目。当尝试向Rapid API发出GET请求时,就会出现这个问题。错误显示预期的开始数组,但开始对象在第1行第2列路径$

这是我的RetrofitAPIClass

public interface Api {
String BASE_URL = "https://who-covid-19-data.p.rapidapi.com/api/data/";

@GET("names")
Call < List < Model > > modelData( @Header("X-RapidAPI-Host") String api,
@Header("X-RapidAPI-Key") String apiKey );
}

这是我的模型类

public class Model {
String names;
public Model ( String names ) {
this.names = names;
}
public String getNames () {
return names;
}
public void setNames ( String names ) {
this.names = names;
}
}

这是我的主要活动类

public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate ( Bundle savedInstanceState ) {
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_main );
textView=findViewById ( R.id.txtHell );

loadData();
}
private void loadData () {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.addConverterFactory( GsonConverterFactory.create())
.addConverterFactory ( ScalarsConverterFactory.create () )
.build();
Api api = retrofit.create(Api.class);
Call < List < Model > > call=api.modelData ("","");
call.enqueue ( new Callback < List < Model > > ( ) {
@Override
public void onResponse ( Call < List < Model > > call , Response < List < Model > > response ) {
if(!response.isSuccessful ()){
textView.setText ( "Code"+response.code () );
}else{
List<Model> models=response.body ();
for(Model model:models){
String data="";
data +="Names :"+ model.getNames ();
textView.append (data  );
}
}
}
@Override
public void onFailure ( Call < List < Model > > call , Throwable t ) {
textView.setText ( t.getMessage () );
}
} );
}
}

请帮帮我

API和RapidAPI的一切都很好。我相信你只需要像这样改变界面。

@GET("names")
Call <ListModel> modelData( @Header("X-RapidAPI-Host") String api,
@Header("X-RapidAPI-Key") String apiKey );

最新更新