繁体   English   中英

Android改造:响应时未调用

[英]Android Retrofit:On Response not calling

我第一次使用改造,我想从Api返回身份验证,但不会调用onResponse。 这是我的代码:

Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://abc.def.com/")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        ApiInterface service = retrofit.create(ApiInterface.class);

        String setAPI_KEY = "123456";
        String settoken = "7891011";
        retrofit2.Call<TokenResponse> tokenResponseCall = service.getToken(setAPI_KEY, settoken);

        tokenResponseCall.enqueue(new Callback<TokenResponse>() {
            @Override
            public void onResponse(retrofit2.Call<TokenResponse> call, retrofit2.Response<TokenResponse> response) {
                int a = response.code();
                TokenResponse tokenResponse = new TokenResponse();

            }

            @Override
            public void onFailure(retrofit2.Call<TokenResponse> call, Throwable t) {
                System.out.print("Fail");
            }
        });

在界面中,我将其设置如下:

public interface ApiInterface {
    @GET("/qwe/asd/zxc")
    Call<TokenResponse> getToken(@Query("key") String API_KEY,@Query("acesstoken") String token);

}

知道其中有什么问题吗? 完整的URL是这样的

https://abc.def.com/qwe/asd/zxc?key=Key&acesstoken=Token

这是我的TokenResponse类:

public class TokenResponse {
    @SerializedName("authorization_key")
    private String authorization_key;

    public String getAuthorization_key() {
        return authorization_key;
    }
}

我得到的异常是:com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)在第1行第1列路径$接受格式错误的JSON

当对象末尾有多余字符而不是空格时,GSON会抛出该特定错误,并且它会非常狭窄地定义空格。

用它

Gson gson = new GsonBuilder()
    .setLenient()
    .create();
Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://abc.def.com/")
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM