【问题标题】:How @PUT some value in webservice via Retrofit@PUT 如何通过 Retrofit 在 web 服务中获得一些价值
【发布时间】:2015-09-19 12:38:12
【问题描述】:

我想向 WebService 发送一个包含用户名和密码的整数列表,类似于下面的请求

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

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

谁能给我一段代码,怎么做?

【问题讨论】:

    标签: android web-services retrofit


    【解决方案1】:

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

    然后你使用改造服务调用方法

    yourService.postList(myDataToSend, postCallback);
    

    【讨论】:

    • 感谢您的回答,在我的示例中,对象类似于 myObject(list,userName,password)?
    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多