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

Retrofit2应为BEGIN_ARRAY,但BEGIN_OBJECT位于第1行第2列路径$

马弘益
2023-03-14

我使用django作为服务器端
在django中,我像这样返回Json

return JsonResponse({'message':'Invalid login details supplied.'}) 
class Account {
    String message;
    @Override
    public String toString() {
        return message;
    }
}
public interface Login {
    @FormUrlEncoded
    @POST("login")
    Call<List<Account>> repoContributors(
            @Field("username") String username,
            @Field("password") String password);
}

RetrofitConnection.Login service = retrofit.create(RetrofitConnection.Login.class);

    final Call<List<RetrofitConnection.Account>> repos = service.repoContributors(string_id,string_pw);

    repos.enqueue(new Callback<List<RetrofitConnection.Account>>() {
        @Override
        public void onResponse(Call<List<RetrofitConnection.Account>> call, Response<List<RetrofitConnection.Account>> response) {
            System.out.println(response.code());
        }

        @Override
        public void onFailure(Call<List<RetrofitConnection.Account>> call, Throwable t) {
            Log.d("TAG",t.getLocalizedMessage());
        }
    });

我不知道为什么会产生问题

共有1个答案

翟嘉年
2023-03-14

由于需要列表,因此应该在JSON中返回一个数组,如下所示

return JsonResponse([{'message':'Invalid login details supplied.'}]) 

注意答案中的方括号([])

 类似资料: