MarkLogic调用/v1/rest-apis接口仅返回2个应用服务器问题咨询
问题排查方案
- 首先校验请求参数:确认
GET http://localhost:8002/v1/rest-apis请求是否携带了分页参数,部分接口默认pageSize为2就会仅返回前2条资源,可尝试显式传入limit=100或者关闭分页参数后重试。 - 核对资源暴露配置:确认未返回的6个app server/数据库是否开启了REST API可见性开关,很多后端框架默认隐藏未标记为允许接口暴露的资源,需要到资源管理后台逐个核对对应资源的暴露配置。
- 校验权限绑定范围:当前admin账号虽然拥有REST API相关全量操作权限,但需要确认权限是否绑定了资源范围限制,若仅给admin授权了2个资源的访问权限,其余资源自然不会返回,可到权限管理后台查看admin账号的资源授权清单。
- 检查资源运行状态:确认未返回的资源是否在注册中心处于正常在线状态,心跳异常、预下线状态的服务会被API网关自动从返回列表中过滤,可登录服务器执行对应服务的状态查询命令确认运行状态。
- 排查接口执行日志:打开
/v1/rest-apis接口的Debug日志,重新发起请求后查看日志中是否有资源过滤的相关记录,比如权限校验过滤、状态过滤的日志条目,可直接定位资源被过滤的原因。
内容的提问来源于stack exchange,提问作者Frank Blau
相关产品推荐
相关产品推荐

