使用Retrofit2将文件路径编码为查询参数无效

时间:2018-08-17 15:51:12

标签: java retrofit2 url-encoding

我正在尝试在查询参数中编码文件路径,但我始终具有相同的输出。 我试过了: @Query(value="path", encoded=false) String path

@Query(value="path", encoded=true) String path

但两种情况下的请求看起来都是这样的:

/myendpoint?path=C:\Development\some\random\filepath

我期望以下输出:

/myendpoint?path=file:%5C%5C%5CC:%5CDevelopment%5Csome%5Crandom%5Cfilepath

如果不可能的话,最好得到以下输出:

/myendpoint?path=C:%5CDevelopment%5Csome%5Crandom%5Cfilepath

因此,我可以在将“ file:\\”字符串添加到文件路径之前,将其传递给我的改造方法,但是Url编码应通过改造完成,并且路径应作为查询参数发送! 有人知道如何获得这项工作吗?

编辑: 我发现Retrofit具有以下查询编码行为:

  • 如果查询包含无效字符(尚未编码),则编码不起作用
  • 如果查询包含有效字符(已经编码),编码工作正常(编码参数打开和关闭编码)

谢谢

0 个答案:

没有答案