android - Foursquare API 通过 Retrofit for Android 获取场地详细信息
问题描述
我是 Retrofit for Android 的新手,我想知道当我想获取场地详细信息时如何提出正确的请求(https://developer.foursquare.com/docs/api/venues/details)
我知道如何提出这样的请求:https://api.foursquare.com/v2/venues/search&v=20190211&near=Amsterdam
@GET("/v2/venues/search")
fun getVenueResults(
@Query("near") near: String,
@Query("limit") limit: Int,
@Query("v") version: Int = 20190211,
@Query("client_id") clientId: String = BuildConfig.FS_Client_ID,
@Query("client_secret") clientSecret: String = BuildConfig.FS_Client_Secret
): Call<FoursquareAPIResponse>
但对于详细信息,您必须向以下人员提出获取请求:
https://api.foursquare.com/v2/venues/VENUE_ID
其中 VENUE_ID 是场地的 ID。如果我做这样的事情:
@GET("/v2/venues/")
fun getVenueDetails(
@Query("") id: String,
@Query("v") version: Int = 20190211,
@Query("client_id") clientId: String = BuildConfig.FS_Client_ID,
@Query("client_secret") clientSecret: String = BuildConfig.FS_Client_Secret
): Call<FoursquareAPIResponse>
它使用场所/?=VENUE_ID 而不是场所/VENUE_ID 格式化获取请求
有人可以帮助我在 Retrofit 中找到正确的方法来格式化获取场地/VENUE_ID 的请求吗?
解决方案
尝试这个
@GET("/v2/venues/{venueId}")
fun getVenueDetails(
@Query("v") version: Int = 20190211,
@Query("client_id") clientId: String = BuildConfig.FS_Client_ID,
@Query("client_secret") clientSecret: String = BuildConfig.FS_Client_Secret,
@Path("venueId") id: String,
): Call<FoursquareAPIResponse>
文档 - https://square.github.io/retrofit/2.x/retrofit/index.html?retrofit2/http/Path.html
推荐阅读
- python-2.7 - 如何在列表中添加 2 个元素并将每 2 个元素的总和放入另一个列表
- c - 使用 Open MP 的递归搜索树中的最大内核数
- azure-sql-data-warehouse - resource_class 为 NULL 的含义
- linux - 来自 docker daemon 的错误响应:无法监听抽象 unix 套接字
- ruby - 使用 .sum 到 Ruby 中的数组时没有方法错误
- javascript - 如何将列表项作为键添加到redux中的对象?
- javascript - 删除标签后如何完全停止脚本
- java - Elasticsearch:如何调用must长度与数组不同的Java High Level REST Client
- python - 在 python 中加密与我的 HTTP 代理的连接
- postgresql - 将 Postgresql 11.5 安装到 AIX 7.1 时出错