![](/img/trans.png)
[英]android: How to receive response from the following json using Retrofit?
[英]How do i receive HTML page as response from API using retrofit in Android?
目前我正在接收 ResponseBody
public interface DashBoardHtmlJsonAPI {
@FormUrlEncoded
@POST("/MobileDashbord")
Call<ResponseBody> getHtml(@Field("UserName") String username, @Field("Password") String password);
}
我想将 responseBody 转换为 String 并将 html 加载到 webview。
html = response.body().string();
上述代码成功响应后返回一个空字符串
我无法将 html 页面检索为字符串。
Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).addConverterFactory(ScalarsConverterFactory.create()).build();
DashBoardHtmlJsonAPI dashBoardHtmlJsonAPI = retrofit.create(DashBoardHtmlJsonAPI.class);
Call<ResponseBody> call = dashBoardHtmlJsonAPI.getHtml(userName,password);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()){
String html="";
try {
html = response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
loadWebView(html);
Log.i("WEBVIEW",response.toString());
Log.i("WEBVIEW",html);
}
else {
Log.i("WEBVIEW",response.body().toString());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.i("WEBVIEW",t.getLocalizedMessage());
}
});
有谁能够帮我?
您需要从正文中检索内容
try {
html = response.body().content();
} catch (IOException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.