我使用改装2我的Android代码,使在android系统POST请求。我已经开始使用相同的服务器调用,现在我卡在改进中使用的POSt请求上。如何利用改造2
我要的是做一个POST请求,我要发送的数据是一样的东西[“1”,“2”,“3”,“4”]
我几乎尝试了所有的方式但没有运气。
我使用改装2我的Android代码,使在android系统POST请求。我已经开始使用相同的服务器调用,现在我卡在改进中使用的POSt请求上。如何利用改造2
我要的是做一个POST请求,我要发送的数据是一样的东西[“1”,“2”,“3”,“4”]
我几乎尝试了所有的方式但没有运气。
有相当多的教程在那里,但我敲了一个非常简单的例子给你,原谅稍微冲码等,希望你的想法。
您的REST接口:
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传递给它。我们使用入队,因为我们在主线程上,并且我们想要改进以在新线程上处理联网。完成改造后,我们会回传onResponse或onFailure。
希望它有帮助。
P.S此示例使用Sandbox其是用于REST接口惊人的测试工具。
感谢您的快速回复。但我已经通过创建POJO尝试了这种类型,但这不起作用。 – user2382771
*我几乎尝试了所有的办法* ...它是很难相信的......如果你为什么不跟我们出了什么你试过到目前为止分享会是真的吗? – Selvin
好,所以你希望我在这里发布所有的代码,到目前为止我已经尝试过。因此,对于您的信息,我曾尝试直接与@Body注释接口通过列表。还通过在接口的方法中传递RequestBody。 –
user2382771