Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通话目的<;T>;带改装柱的类型_Java_Android_Api_Retrofit_Retrofit2 - Fatal编程技术网

Java 通话目的<;T>;带改装柱的类型

Java 通话目的<;T>;带改装柱的类型,java,android,api,retrofit,retrofit2,Java,Android,Api,Retrofit,Retrofit2,新的http请求和java和改造,所以这可能是一个基本的问题,但 我已经成功地设置了对web服务的http调用,但有一部分有点困惑,主要是基于我从教程/示例中看到的内容 我见过很多这样的例子: @POST("/api") Call<Foo> savePost(@Body Foo foo); @POST(“/api”) 调用savePost(@Body Foo Foo); 我的理解是,参数“foo”将由所选转换器转换为json,并作为http请求的主体传递。我不明白的是,为什么Ca

新的http请求和java和改造,所以这可能是一个基本的问题,但

我已经成功地设置了对web服务的http调用,但有一部分有点困惑,主要是基于我从教程/示例中看到的内容

我见过很多这样的例子:

@POST("/api")
Call<Foo> savePost(@Body Foo foo);
@POST(“/api”)
调用savePost(@Body Foo Foo);

我的理解是,参数“foo”将由所选转换器转换为json,并作为http请求的主体传递。我不明白的是,为什么Call的响应主体类型也是Foo?这里是否假设响应也将反序列化为Foo对象?有一个与你发送的身体相匹配的回复是常见的做法吗?我用它来做get之类的东西,但我不明白为什么你会期望在帖子中得到这样的回复。

首先让我解释一下改型中的要求

它是一个改进接口,可以通过execute同步调用,也可以通过enqueue异步调用。在任何一种情况下,都可以使用“取消”随时取消

无效排队(回调)

Response execute()抛出IOException

在上面的示例中,您将从savePost得到的响应也是Foo。它将反序列化为Foo对象


这取决于用例,无论您是否必须获取Foo对象,如果您不想,您可以使用ResponseBody而不是Foo

好的,那么Foo响应是否来自改装?还是来自我发送请求的web服务?我想我还是有点困惑,如果想要一个包含您已经发送的数据并且可能有权访问的响应,那么用例会是什么。@溺水鱼。。。基本上,您将从webservice获得json响应。在GSON或Jackson Convertor等JSON解析器的帮助下,JSON被反序列化为Foo对象。可能是服务器将为对象生成任何唯一的引用id。
Asynchronously send the request and notify
Synchronously send the request and return its response.