URL 斜杠“/”进行双重编码。在 Android Api Retrofit Kotlin 中更改为 %252F 而不是 %2F

Pra*_*h J 2 api android kotlin retrofit

我收到的 Api 响应如下

X-Amz-Credential=0XCA1HQW6NU67Z1FP3U1%2F20221011%2Fus-east-1%2Fs3%2Faws4_request

但是当我在下一个Api中将该值作为查询参数发送时,它会自动转换为

X-Amz-Credential=0XCA1HQW6NU67Z1FP3U1%252F20221011%252Fus-east-1%252Fs3%252Faws4_request

只要有 %2F,它就会转换为 %252F,因此 Api 会因 400 错误请求而失败。

laa*_*lto 5

您可以使用encodedRetrofit 注释的属性@Query将值标记为已编码,以防止再次对其进行 URL 编码。

例如:

@Query(value = "credential", encoded = true) credential: String
Run Code Online (Sandbox Code Playgroud)