Noo*_*les 8 java android urlencode retrofit
我在我的Android应用程序中使用Retrofit作为我的网络层,但是我对URL编码有疑问.
我必须像这样调用REST API:
https://my_hostname.com/some_path?q=some_query¶m[0]=value1¶m[1]=value2&other_param=abcd
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,查询字符串由一些不同类型的参数组成,因此我决定@QueryMap在Retrofit Interface中使用注释,Map<String, String>其中where
q, param[1], param[0], other_param是地图的String键
我期待什么?我希望URL中的方括号用%5Bfor '['和%5Dfor 编码'[',但这不会发生.
为什么会这样?方括号应使用百分比编码进行编码.这是一个错误还是我做错了什么?我也尝试了@EncodedQueryMap没有差异的注释.
Jak*_*ton 14
查询名称从不进行URL编码.
@QueryMap各州的文件:
值是URL编码的.
并为@EncodedQueryMap:
值不是URL编码的.
但是,我刚刚提交了一个pull请求来改变这种行为.我正在使用@Query(value = "..", encodeName = true)或添加对密钥编码的支持@QueryMap(encodeNames = true).
| 归档时间: |
|
| 查看次数: |
9119 次 |
| 最近记录: |