You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为RAML创建API治理规则集遇阻:检查响应示例与URI参数描述

RAML治理规则失效问题排查与修复

首先你的RAML示例代码存在缩进与节点缺失问题,会导致解析异常,先修正为规范格式:

/example:    
  /{uriParams}:
    get:
      uriParameters:
        uriParams:
          description: Example description uriParams
      responses:
        200:
          body:
            application/json:
              example: !include examples.example.json

注:原代码缺少responses节点,body及uriParameters下属节点缩进错误,会影响规则引擎的正常解析


1. 响应示例检查规则(response-example)失效原因与修复

你的规则存在3个核心问题:

  • 目标类错误:targetClass: apiContract.Example定位错误,示例属于响应体的属性,应针对apiContract.MessageBody或apiContract.Response
  • 属性路径错误:apiContract.returns不是合法属性,应直接检查响应体的example字段
  • YAML语法错误:规则内节点缩进不一致,同时正则匹配的转义符多余

修正后的规则:

response-example:
  message: "Provide example for response body."
  targetClass: apiContract.MessageBody
  propertyConstraints:
    apiContract.example:
      minCount: 1
      # 若不需要限制必须是!include引用的示例,可删除以下propertyConstraints块
      propertyConstraints:
        core.stringValue:
          pattern: ^!include

2. URI参数描述检查规则(uri-descriptions)失效原因与修复

你的规则核心问题是条件判断逻辑错误:
if块内propertyConstraints: apiContract.Parameter是无效写法,应检查参数是否为URI参数,正确属性为apiContract.isUriParameter: true,同时存在YAML缩进错误。

修正后的规则:

uri-descriptions:
  message: "Provide description for URI parameters."
  targetClass: apiContract.Parameter
  if:
    propertyConstraints:
      apiContract.isUriParameter:
        equals: true
  then:
    propertyConstraints:
      core.description:
        minCount: 1

内容的提问来源于stack exchange,提问作者Anonim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 08:18:23