带有 Id 的 Retrofit2 GET 请求

Retrofit2 GET request with Id

我正在尝试在我的 android 项目中提出请求。 url就是这个

"https://api.spoonacular.com/recipes/716429/information?includeNutrition=false"

我正在使用改造 2,但我不知道如何让它工作。

这是我尝试做的。

我得到了菜谱的 ID 并调用了传递该 ID 的函数。

 fun applyQueryById(recipeId: Int): String{
   val  searchByIdQuery = "${recipeId}/information?includeNutrition=false&apiKey=${API_KEY}"
    return searchByIdQuery
}

GET请求就是这个

   @GET("/recipes/")
suspend fun getRecipeById(
    @Query("id") searchById:String
):Response<PersonalizedRecipeResult>

我认为因为 id 在中间,所以像我这样制作原始字符串不是一个好主意。如果有人能提出不同的建议,我将不胜感激

您正在使用 @Query("id"),它会将值作为查询进行广告。

从你的示例中,我可以看出你想使用 @Path

你可以这样使用它

   @GET("/recipes/{id}")
   suspend fun getRecipeById(
      @Path("id") searchById:String
   ):Response<PersonalizedRecipeResult>

通过这种方式,searchById 将在您的示例调用中替换为 {id}