- 首先网上的讲解一大堆,这里只是自己当时的问题,或者是接口的问题,现在吧写出来,为了下次使用
- 为嘛的接口是 http:xxxxx /xxx/xxx
- 然后需要是post请求 方式是 {“dev”:”xxxxxooooo”}
- 自己找了一大堆,最后解决ok,下面代码
BASE_URL = "https://xxxxxx.xxx/xxxx/";
public interface ApiService {
@POST("report")
Call<ResultBean> getResult (@Body BodyPost jsonBean);
}
ResultBean ----》代表请求结果后的 实体类
BodyPost ----》代表你要进行请求体 body来进行post请求的 实体类
比如我上面要求是{"dev":"xxxxxooooo"}, 则body类是
public class BodyPost {
private String dev ;
public BodyPost(String dev) {
this.dev = dev;
}
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(AppUrl.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
mApiService = retrofit.create(ApiService.class);
String xxxx= JsonUtil.changeArrayDateToJson(getjsonbean);
mApiService.getResult( new BodyPost(xxxx))
.enqueue(new Callback<ResultBean>() {
@Override
public void onResponse(Call<ResultBean> call, Response<ResultBean> response) {
if (!response.isSuccessful()){
try {
Log.d("no success" , response.errorBody().string());
} catch (IOException e) {
e.printStackTrace();
}
}else {
Logutils.d("成功结果" , response.body().toString() + "");
}
}
@Override
public void onFailure(Call<ResultBean> call, Throwable t) {
t.printStackTrace();
}
});