解决聚合数据调用中的mobile/selectMobile资源缺失问题

一、问题

在我进行测试聚合数据中手机号码归属地(手机号码归属地查询接口_免费API数据接口 - 聚合数据聚合数据提供全国移动、联通、电信等手机号码归属地接口,根据手机号码或手机号码的前7位,查询手机号码归属地信息,如省份 、城市、运营商等。https://www.juhe.cn/docs/api/id/11)的时候,我出现了下图中的一个报错信息:

当我翻译完之后,原来是说我找不到我这个resource的下的这个方法名,大家也可以从上图发现,其实都是正确的,我用的是路径传参,但当我经过测试,发现,一个很细小的点没有注意到,困扰了我很久。

二、解决方法:

这个解决方法就是:把路径传参转换成问号传参

我的错误原因也是:在我的情况下,手机号码归属地查询接口可能原本设计为接受路径传参(如/api/phone/{phoneNumber}),但由于某些原因(如API设计变更、服务器配置问题等),路径传参的方式不再被支持或正确解析。将路径传参转换为问号传参(如/api/phone?phone={phoneNumber})后,请求能够成功,因为服务器现在能够正确解析查询字符串中的参数。

三、路径传参与问号传参的区别:

路径传参(Path Parameters)

  1. 位置 :路径传参位于URL的路径部分(即/分隔的部分),它们通常是URL模板中的一部分,用于动态指定资源的位置或标识符。
  2. 用途:路径传参用于指定请求的资源本身,例如,在RESTful API中,通过路径传参可以指定要操作的具体资源实例。
  3. 处理方式:服务器根据路径传参来定位资源,通常这些参数在服务器端被用于路由或查找数据库中的记录。
  4. 示例 :假设有一个API用于获取特定用户的信息,URL可能是https://api.example.com/users/{userId},其中{userId}就是路径传参,表示用户ID。

问号传参(Query Parameters)

  1. 位置 :问号传参位于URL的查询字符串部分,即URL中?后面的部分。它们以键值对的形式出现,多个参数之间用&分隔。
  2. 用途:问号传参用于提供对资源的额外信息或选项,它们不改变请求的资源本身,而是改变资源的表现或处理方式。
  3. 处理方式:服务器通常将问号传参作为请求的一部分进行处理,可能用于过滤结果、排序、分页等。
  4. 示例https://api.example.com/users?page=2&limit=10,这里pagelimit就是问号传参,分别用于指定请求的页码和每页的记录数。

四、总结:

选择路径传参还是问号传参,通常取决于API的设计和需求。路径传参更适合用于指定资源本身,而问号传参则更适合用于对资源的操作进行细化或定制。在具体情况下,根据API的实际要求和服务器配置,选择合适的传参方式非常重要。

相关推荐
GuGuStudy几秒前
这都是什么多线程知识
java
Bob99981 分钟前
Amlogic S905L3系列盒子 ROM DIY相关
java·javascript·数据仓库·vscode·eclipse·tomcat·vim
Kings905 分钟前
告别手动注入!Bean Assistant插件让SpringBoot开发效率翻倍🚀
spring boot
带刺的坐椅11 分钟前
qwen3 惊喜发布,用 ollama + solon ai (java) 尝个鲜
java·spring·solon·solon-ai·qwen3
.生产的驴1 小时前
SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换
java·开发语言·spring boot·后端·前端框架
Howard_Stark1 小时前
Spring的BeanFactory和FactoryBean的区别
java·后端·spring
饮长安千年月1 小时前
学生管理系统审计
java·网络安全·代码审计
-曾牛1 小时前
Spring Boot中@RequestParam、@RequestBody、@PathVariable的区别与使用
java·spring boot·后端·intellij-idea·注解·spring boot 注解·混淆用法
软件2051 小时前
【UserDetailsService】
spring boot
新时代苦力工1 小时前
处理对象集合,输出Map<String, Map<String, List<MyObject>>>格式数据,无序组合键处理方法
java·数据结构·list