Foursquare API通过Android改装获得场地详细信息

时间:2019-02-14 10:28:14

标签: android retrofit2 foursquare get-request

我是Android Retrofit的新手,我想知道如何在要获取场地详细信息(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格式化获取请求

有人可以帮我找到在翻新中正确的方法,以将获取请求格式化为场地/ VENUE_ID吗?

1 个答案:

答案 0 :(得分:1)

尝试一下

@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