Android:改造URL路径没有" /"

时间:2014-11-09 19:56:38

标签: android http retrofit

所以我实际上尝试用TypedByteArray作为我的身体进行PUT。我正在与Azure服务器进行交互,因此第一步是

  1. 使用我的图片元数据进行POST调用,然后返回一个网址(例如URL_PUT)

  2. 我必须向该URL_PUT发出PUT请求(从步骤1开始),因此我的改进单例界面功能如下所示:

  3.     public interface ImageInterface {
    
             @PUT("/{nothing}")
             Response uploadBlob(@Body TypedByteArray byteArray, 
                 @Header("Content-Length") String byteArrayLength, 
                 @Path(value="nothing",encode=false) String nothing);
    
        }
    

    但是我收到一个错误,说当我传递“”时,URL路径必须以“/”开头。对于上面的函数我尝试传递一个空字符串,但无济于事。

    所以基本上我只想使用端点进行改造,但PUT没有路径/ balnk路径。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

分割URL_PUT怎么样?

例如,您有http://example.com/path/more/path/image.jpg

您将其拆分为2个字符串: - http // example.com - /path/more/path/image.jpg

然后你摆脱了第二个Stirng的第一个“/”。然后就像你一样:

public interface ImageInterface {

     @PUT("/{second-string}")
     Response uploadBlob(@Body TypedByteArray byteArray, 
         @Header("Content-Length") String byteArrayLength, 
         @Path(value="second-string",encode=false) String secondString);

}

然后在您的客户端上使用带有此接口的字符串1。并将字符串2作为参数发送。我想这应该有效。

(对不起,我输入的速度很快,我在移动中)