android - 带有 ID 的 Retrofit2 GET 请求
问题描述
我正在尝试在我的 android 项目中提出请求。网址是这个
“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")
which 会将值作为查询进行广告。
从您的示例中,我可以看到您想使用@Path
你可以像这样使用它
@GET("/recipes/{id}")
suspend fun getRecipeById(
@Path("id") searchById:String
):Response<PersonalizedRecipeResult>
通过这种方式,searchById
将{id}
在您的示例调用中替换为
推荐阅读
- symfony - sylius 中的重写 Order 类引发异常“sylius_order”已存在
- django - 运行 django auth 迁移不会在 db 中创建表
- mysql - MySQL - 仅当成员不在另一个列表中时才返回成员列表
- python - 如何通过 selenium-webdriver 和 Python 根据 html 在没有唯一标识符的文本框中单击
- java - 通过华为手机上的“高耗能”通知关闭后再次在前台启动应用程序
- python - 从 CSV 信息创建 SQL 表
- javascript - 内联 js 中初始化外部延迟 js 资源的 Javascript (JS) 错误
- python - 如何按列查找“空”值的百分比
- sql - 从子查询返回的结果行与外部查询结果一样多的结果行插入到表中
- visual-studio - 启动时不调试快捷方式在 Visual Studio 中不起作用