我有以下接口
interface OpenWeatherApi {
@GET("weather?lat={lat}&lon={lon}&appid=" + Constants.OPEN_WEATHER_API_KEY)
suspend fun currentWeatherDetails(
@Path("lat") lat: String,
@Path("lon") lon: String
): Response<CurrentWeatherResponseSchema>
}
我正在使用以下依赖项
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.8.1'
我使用的Base_Url如下所示:
const val BASE_URL = "https://api.openweathermap.org/data/2.5/"
原始url或api调用应该如下所示:
api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}
我尝试将@path更改为@query,但仍然得到相同的错误消息
下图是来自邮差的一个测试,看起来很管用:
我只是从postman复制url并在代码中进行必要的更改,我得到的错误代码仍然是相同的
替换:
@GET("weather?lat={lat}&lon={lon}&appid=" + Constants.OPEN_WEATHER_API_KEY)
与:
@GET("weather?appid=" + Constants.OPEN_WEATHER_API_KEY)
然后,替换:
@Path("lat") lat: String,
@Path("lon") lon: String
@Query("lat") lat: String,
@Query("lon") lon: String
Stability: 2 - Stable querystring 模块提供了一些实用工具,用于解析与格式化 URL 查询字符串。它可以通过以下方式被使用: const querystring = require('querystring'); querystring.escape(str) 新增于: v0.1.25 str <string> querystring.escape() 方法对给定
问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册
问题内容: 从Java脚本的路径中删除查询字符串的简便方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望在不存在querystring的情况下删除哈希(不是原始问题的一部分)的人,需要做更多的工作: 编辑 @caub(最初为@crl)建议了一个更简单的
问题内容: 说我有一个网址 并且我有一个用户输入的查询,例如: 随机词银行 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但没有一个是正确的。 问题答案: 应该是要走的路。你只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符和参数名称-值分隔符都不进行编码。 请注意,查询参数中的空格由+而不
假设我有一个URL 并且我有一个用户输入的查询,例如: 随机字500英镑银行$ 我希望结果是一个正确编码的URL: 实现这一点的最佳方法是什么?我尝试了并创建URI/URL对象,但结果都不是很对。
问题内容: 我有一个网址 并且我有一个用户输入的查询,例如: 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但是没有一个是正确的。 问题答案: 可以使用 。您只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符&和参数名称-值分隔符都不进行编码=。 请注意,查询参数中的空格由而不是表示,这是合