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

相关推荐
洛小豆3 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学3 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole3 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端
华仔啊3 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
程序员鱼皮4 小时前
刚刚 Java 25 炸裂发布!让 Java 再次伟大
java·javascript·计算机·程序员·编程·开发·代码
浮游本尊4 小时前
Java学习第21天 - 微服务架构设计
java
渣哥4 小时前
Java CyclicBarrier 详解:原理、使用方式与应用场景
java
杨杨杨大侠4 小时前
打开 JVM 黑匣子——走进 Java 字节码(一)
java·jvm·agent
SimonKing4 小时前
接口调用总失败?试试Spring官方重试框架Spring-Retry
java·后端·程序员