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

相关推荐
方也_arkling6 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮6 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei116 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1126 小时前
web-第一次课后作业
java·开发语言·idea
秋96 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本7 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
DIY源码阁7 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
basketball6168 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++
JAVA面经实录9179 小时前
MyBatis面试题库
java·mybatis
小江的记录本9 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试