如何使用改造2在android中发出POST请求

时间:2016-11-17 10:05:09

标签: android retrofit2

我在我的Android代码中使用了改装2。我已经开始使用相同的服务器调用,现在我停留在改造中使用的POSt请求。

我想要的是发出POST请求,我要发送的数据类似于[“1”,“2”,“3”,“4”]

我几乎尝试了所有方法,但没有运气。

1 个答案:

答案 0 :(得分:2)

有很多教程,但我已经为你敲了一个非常快速的例子,原谅稍微匆忙的代码等等,希望你能得到这个想法。

  1. 您的休息界面:

    public interface MyRetrofit {
    @POST("/users")
    Call<MyResponse> postUser(@Body MyRequest body);}
    
  2. 您的改造创建

    OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder();
    
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://little-silence-8649.getsandbox.com")
            .client(okHttpClientBuilder.build())
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    
    apiInterface = retrofit.create(MyRetrofit.class);
    
  3. 电话

    MyRequest req = new MyRequest();
    req.setName("Kermit");
    Call<MyResponse> task = apiInterface.postUser(req);
    task.enqueue(new Callback<MyResponse>() {
           @Override
           public void onResponse(Call<MyResponse> call, Response<MyResponse> response) {
               Log.d(TAG, "Success");
           }
    
           @Override
           public void onFailure(Call<MyResponse> call, Throwable throwable) {
               Log.e(TAG, "onFailure: ", throwable);
           }
    });
    
  4. 这应该都是非常自我解释的。您可以在第一步中创建定义所有REST调用的界面。然后在第二步中创建一个改装实例,传递一个ok http客户端和一个gson转换器。 gson转换器将您的请求转换为json。

    然后最后一次电话。我创建了一个请求,这只是一个pojo并通过改造api传递给它。我们使用enqueue因为我们在主线程上,我们希望改进以处理新线程上的网络。当它的完整改造通过我们返回onResponse或onFailure。

    希望它有所帮助。

    P.S此示例使用Sandbox,这是一个令人惊叹的REST接口测试工具。