@PUT 如何通过 Retrofit 在 web 服务中产生一些价值
How @PUT some value in webservice via Retrofit
我想向 WebService 发送一个包含用户名和密码的整数列表,比如下面的请求
UpdateDocumentState(List<int> documentIds, string userName, string password)
但我不知道该怎么做?使用 @Post 还是 @Put ?使用@Query 还是@Field?我用谷歌搜索但没有找到任何很好的例子或教程来解释这些。 (我找到的所有教程都是关于@GET 的)
谁能给我一些代码,怎么做?
关于@PUT 或@的使用POST 我认为您必须从 WebService 开发人员那里获得此信息。
无论如何,这里是带有或不带有回调响应的 Retrofit 注释的示例代码。
@POST("your_endpoint")
void postObject(@Body Object object, Callback<Response> callback);
@PUT("/{path}")
String foo(@Path("path") String thePath);
编辑:
对象是一个自定义 class,代表您必须发送到 WebService 的数据。
public class DataToSend {
public List<Int> myList;
public String username;
public String password;
}
例如当@POST注解声明为:
@POST
void postList(@Body DataToSend dataToSend, Callback<Response> callback);
然后使用 Retrofit 服务调用该方法
yourService.postList(myDataToSend, postCallback);
我想向 WebService 发送一个包含用户名和密码的整数列表,比如下面的请求
UpdateDocumentState(List<int> documentIds, string userName, string password)
但我不知道该怎么做?使用 @Post 还是 @Put ?使用@Query 还是@Field?我用谷歌搜索但没有找到任何很好的例子或教程来解释这些。 (我找到的所有教程都是关于@GET 的)
谁能给我一些代码,怎么做?
关于@PUT 或@的使用POST 我认为您必须从 WebService 开发人员那里获得此信息。
无论如何,这里是带有或不带有回调响应的 Retrofit 注释的示例代码。
@POST("your_endpoint")
void postObject(@Body Object object, Callback<Response> callback);
@PUT("/{path}")
String foo(@Path("path") String thePath);
编辑: 对象是一个自定义 class,代表您必须发送到 WebService 的数据。
public class DataToSend {
public List<Int> myList;
public String username;
public String password;
}
例如当@POST注解声明为:
@POST
void postList(@Body DataToSend dataToSend, Callback<Response> callback);
然后使用 Retrofit 服务调用该方法
yourService.postList(myDataToSend, postCallback);