在正确的查询字符串中附加到 android 中的改装请求
In correct query string append to retrofit request in android
我正在尝试将“test+data”传递给 Retrofit api 调用,但在 api 请求过程中它被处理为“test%2Bdata”。因此,我的 API 请求失败了。
如何将准确的文本传递给改造调用?
我正在尝试使用以下代码。
build.gradle:
buildConfigField("String", "api_type", "\"test+data\"")
存储库:
apiService.getAllData(BuildConfig.api_type)).enqueue(object : Callback<User> {
override fun onResponse(call: Call<User>, response: Response<User>) {
}
override fun onFailure(call: Call<User>, t: Throwable) {
}
});
API服务:
@GET("/?format=json")
fun getAllData(@Query("q") q: String) : Call<User>
你需要在@Query注解中添加'encoded = true',像这样:
@Query("q" , encoded = true)
我正在尝试将“test+data”传递给 Retrofit api 调用,但在 api 请求过程中它被处理为“test%2Bdata”。因此,我的 API 请求失败了。
如何将准确的文本传递给改造调用?
我正在尝试使用以下代码。
build.gradle:
buildConfigField("String", "api_type", "\"test+data\"")
存储库:
apiService.getAllData(BuildConfig.api_type)).enqueue(object : Callback<User> {
override fun onResponse(call: Call<User>, response: Response<User>) {
}
override fun onFailure(call: Call<User>, t: Throwable) {
}
});
API服务:
@GET("/?format=json")
fun getAllData(@Query("q") q: String) : Call<User>
你需要在@Query注解中添加'encoded = true',像这样:
@Query("q" , encoded = true)