我在我的Android代码中使用了改装2。我已经开始使用相同的服务器调用,现在我停留在改造中使用的POSt请求。
我想要的是发出POST请求,我要发送的数据类似于[“1”,“2”,“3”,“4”]
我几乎尝试了所有方法,但没有运气。
答案 0 :(得分:2)
有很多教程,但我已经为你敲了一个非常快速的例子,原谅稍微匆忙的代码等等,希望你能得到这个想法。
您的休息界面:
public interface MyRetrofit {
@POST("/users")
Call<MyResponse> postUser(@Body MyRequest body);}
您的改造创建
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);
电话
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);
}
});
这应该都是非常自我解释的。您可以在第一步中创建定义所有REST调用的界面。然后在第二步中创建一个改装实例,传递一个ok http客户端和一个gson转换器。 gson转换器将您的请求转换为json。
然后最后一次电话。我创建了一个请求,这只是一个pojo并通过改造api传递给它。我们使用enqueue因为我们在主线程上,我们希望改进以处理新线程上的网络。当它的完整改造通过我们返回onResponse或onFailure。
希望它有所帮助。
P.S此示例使用Sandbox,这是一个令人惊叹的REST接口测试工具。