![](/img/trans.png)
[英]Retrofit gives null response while calling Post request from 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.