@PUT如何通过Retrofit在webservice中获得一些价值

时间:2015-07-02 06:17:04

标签: android web-services retrofit

我想将一个带有userName和password的整数列表发送到WebService,比如bellow request

UpdateDocumentState(List<int> documentIds, string userName, string password)

但我不知道该怎么办?使用@Post还是@Put?使用@Query或@Field?我用谷歌搜索,但没有找到任何好的例子或教程解释这些。 (我发现的所有教程都是关于@GET)

任何人都可以给我一些代码,怎么做?

1 个答案:

答案 0 :(得分:4)

关于使用@PUT或@POST我认为您必须从WebService开发人员那里获取此信息。

无论如何,这里有两个带有或不带回叫响应的Retrofit注释的示例代码。

@POST("your_endpoint")
void postObject(@Body Object object, Callback<Response> callback);

@PUT("/{path}") 
String foo(@Path("path") String thePath);

修改 Object是一个自定义类,表示您必须发送到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 service

调用该方法
yourService.postList(myDataToSend, postCallback);