带有 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}
我正在尝试在我的 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}