Foursquare API 通过 Retrofit for Android 获取场地详细信息

Foursquare API get venue details with 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>

它将获取请求格式化为 venues/?=VENUE_ID 而不是 venues/VENUE_ID

有人可以帮助我在 Retrofit 中找到将获取请求格式化为 venue/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