android - Android Retrofit 传递参数
问题描述
我正在使用改造通过帖子 ID 获取单个帖子,在传递帖子 ID 时出现错误。我尝试了几种方法,但没有一种方法返回了正确的响应。
我已经试过了:
@GET("?rest_route=/wp/v2/posts/")
Call<SinglePost> getSinglePost(@FieldMap Map<String, String> map);
@GET("?rest_route=/wp/v2/posts/")
Call<SinglePost> getSinglePost(@QueryMap Map<String, String> map);
@GET("?rest_route=/wp/v2/posts/")
Call<SinglePost> getSinglePost(@QueryMap<String, String> map);
@GET("?rest_route=/wp/v2/posts/{postid}")
Call<SinglePost> getSinglePost(@Path("postid")int postid);
@GET("?rest_route=/wp/v2/posts/{postid}")
Call<SinglePost> getSinglePost(@Path("postid")int postid);
@GET("?rest_route=/wp/v2/posts/{postid}")
Call<SinglePost> getSinglePost(@Field("postid") int postid);
这是原始链接 https://www.mywordpress.com/?rest_route=/wp/v2/posts/3561
解决方案
像这样声明您的 API 调用
@GET("/")
Call<SinglePost> getSinglePost(@QueryMap Map<String, String> map);
制作参数映射并在初始化 API 调用时传递它
HashMap<String, String> map = new HashMap<>();
map.put("rest_route", "/wp/v2/posts/3561");
Call<SinglePost> call = apiService.getSinglePost(map);
推荐阅读
- flutter - 使用 BlocBuilder 的首选方法是什么 - 如果我想在由其他小部件分隔的列中重建两个小部件?
- javascript - 无法运行 Jetifier,在 react-native 中找不到模块“哪个”错误
- html - 带有 CSS 的弹性项目之间的细箭头分隔符
- node.js - 为什么要发布 QueryRunner?
- mysql - 计算在几列范围内至少有两个肯定答案的行数
- sql - PostgreSQL 检索不到 24 小时
- awk - AWK 尝试将标量变量用作数组错误
- node.js - 在 ubuntu shell 中散列密码将与 nodejs bcrypt.hash 兼容
- symfony - 参数 #1 ($userProvider) 的类型必须是 ... UserProviderInterface
- reactjs - 使用三个 JS 库在 React JS 中引用 3D 对象