Retrofit提交Json

Posted ZGJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Retrofit提交Json相关的知识,希望对你有一定的参考价值。

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)
     {

     }
          

 

以上是关于Retrofit提交Json的主要内容,如果未能解决你的问题,请参考以下文章

使用Retrofit发送POST请求提交JSON数据

Retrofit初探——POST方式提交JSON数据

使用 Retrofit 解析带有对象数组的 JSON 数组

如何从片段中的 JSON 响应中的对象获取数据

我应该将 Flutter/Dart 中生成的代码提交给 VCS

Retrofit 使用过程中遇到的坑