解决聚合数据调用中的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的实际要求和服务器配置,选择合适的传参方式非常重要。

相关推荐
吃饱了得干活13 分钟前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
lhldsg2 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
Interview Aid1122 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
mldong2 小时前
换了工作流引擎,前端一行代码没改
java·架构
微尘寒风10 小时前
【Git】的安装和使用
java·git
y = xⁿ10 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
侧耳倾听11111 小时前
jwt使用简介
java·jwt
顶点多余11 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI人工智能+电脑小能手11 小时前
大白话说Java设计模式-46-责任链模式(业务实战篇)
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
jay神12 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计