@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);