gpt4 book ai didi

android - Retrofit 2.0 Beta 2 - 路径编码问题?

转载 作者:搜寻专家 更新时间:2023-11-01 07:52:24 27 4
gpt4 key购买 nike

我最近尝试从 Retrofit 2.0 beta 1 升级到 beta 2,升级了我的所有代码,我注意到一个阻碍我进步的差异。

我有一个用例,我需要向端点动态提供路径组件,为此我使用了路径替换变量。

例如:

@GET("/foo/bar/{sub}")
public Call<SomeObject> fooBar(
@Path(value = "{sub}", encoded=true) String subPath
}

(如果语法不够完美,我们深表歉意,但您明白了要点)。

在 beta 1 中,我可以将 subPath 设置为类似“hello/world”的东西,结果端点将是“/foo/bar/hello/world

在 beta 2 中,无论“encoded”的值如何,它都会自动对输入进行编码。所以我得到“/foo/bar/hello%2Fworld

beta 1 和 beta 2 之间对预编码输入的处理是否有变化,或者这只是一个错误?

谢谢。

最佳答案

这是一个 known issue使用 retrofit2-beta2。

开发人员正在寻找不同的解决方案,但尚不清楚是否或何时会解决这个问题。同时,按照 Github 上的建议,降级到 beta 1 或更改为使用 @Url 参数而不是 @Path:

@GET
public Call<SomeObject> fooBar(
@Url String subPath
}

然后:

fooBar("/foo/bar/" + subPath);

我也觉得这很老套。希望这在未来的改造版本中得到修复。

关于android - Retrofit 2.0 Beta 2 - 路径编码问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com