1、APIService为自定义接口类,
定义@Headers
@Headers({"Content-Type: application/json","Accept: application/json"})
@POST
Call<ResponseBody> Test(@Url String url,@Body RequestBody route);//测试使用@Url
2、调用代码如下,使用了Call<ResponseBody>,
APIService req;
req = RetrofitManager.getInstance().createReq(APIService.class);
HashMap hashMap = new HashMap();
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(AppConfig.BASE_URL)
.build();
APIService postRoute=retrofit.create(APIService.class);
RequestBody body=RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"),datas);//datas是json字符串
Call<ResponseBody> call=postRoute.Test("/test.shtml?type=test",body);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String json = response.body().string();
JSONObject jObject1 = new JSONObject(json);
String result = jObject1.getString("result");
String message = jObject1.getString("message");
if (!result.equals("0"))//不为0异常
{
showToast("异常:"+message);
}
else
{
showToast("成功:"+message);
}
}
catch (Exception ex)
{ }