rest - Fuel HTTP - 避免 URL 编码
问题描述
使用改造我可以获取并避免 URL 编码如下:
@GET("classes/Tournaments")
fun searchTournament(@Query(value = "where", encoded = false) query: String): Call<List<Tournament>>
在 Fuel 这个 GET 请求中:
fun searchTournament(name: String): Any {
val (request, _, result)
= Fuel.get(baseUrl.plus("/classes/tournaments"), listOf("where" to mapOf("name" to name))).responseString()
val (payload, error) = result
println(request.url)
return ""
}
生成此 URL:https://parseapi.back4app.com/classes/tournaments?where=%7Bname%3DBrasileir%C3%A3o+2019%7D
这会导致错误。
我在文档中找不到任何关于避免编码的明确内容。这可能吗?
我的应用是 Kotlin 控制台应用(无 Android)
当我将此查询发送到服务器时,它会响应 Http 500 - Internal Server Errors(没有更多详细信息)。我认为它不理解查询。
2019-04-02T03:17:23.314Z - Uncaught internal server error.
服务器是 ParseServer(Back4App) 的一个实例,我无法在那里解码查询。
解决方案
这是关于使用 rest api 的明确说明。
https://docs.parseplatform.org/rest/guide/#query-constraints
where key 的值/格式错误。您必须使用双引号和 ':' 而不是直接使用带有 '=' 的查询键。
所以你的编码 URL 应该是这样的: https://parseapi.back4app.com/classes/tournaments?where=%7B%22name%22%3A%22Brasileir%C3%A3o%2B2019%22%7D
推荐阅读
- javascript - Angular 升级到 8 后出现拖动事件的问题。(使用 D3)
- r - 如何将字符日期(1931 年 2 月 12 日)转换为日期格式(Y、m、d)
- django - 有没有办法在 django 的另一个页面上保存数据?
- python-3.x - PYODBC - 类型错误:要执行的第一个参数必须是字符串或 unicode 查询
- python - 使用 JupyterNotebook 的问题
- java - 如何捕获 ResponseEntityExceptionHandler 的响应以创建 JWE 加密
- sql - 我在哪里可以下载 SQLite 的 Northwind 示例数据库?
- reactjs - 在 Gatsby 中解析未引用的 SVG
- c# - 如何在 GroupedEnumerable 上设置 OrderBy
- python - readlines() 是否关闭文件?