retrofit 2.0 如何post请求,传递json参数

google了一圈,Jake Wharton在stack上的回答是1.9版本用的,而且感觉好烦,还要创建一个参数类,难道大家都用get请求吗?

阅读 17.6k
2 个回答

接口

public interface Contracts {
    @POST("一段url .ashx")
    Observable<JavaBean> query(@Body RequestBody requestBody);
}

请求体

    RequestBody requestBody = 
        RequestBody.create(MediaType.parse("application/json; charset=utf-8"), 
         "你想上传的json比如下面{\"Query\":\"\",\"OrgCode\":\"12345678-1\"}");

然后

retrofit.create(JavaBean.class).query(requestBody)
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    ........

我是这样写的,不知道有没有什么更好的方法

也不一定要建一个参数类。。。最后都是变成了json字符串。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题