首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SPectral扩展规则

使用SPectral扩展规则
EN

Stack Overflow用户
提问于 2019-09-30 20:28:00
回答 1查看 481关注 0票数 0

我正在遵循Spectral's documentation,并尝试将我的自定义规则作为oas3规则集的扩展添加,看起来文档中的规则被完全忽略了。

我的OpenApi 3.0规范文件:

代码语言:javascript
运行
复制
openapi: 3.0.2
info:
  title: Project info
  description: |
    Project description
  contact:
    name: Test Testable
    email: test@test.test
  version: 1.0.0
servers:
- url: http://localhost:8080
tags:
- name: test-tag
paths:
  /test:
    get:
      tags:
      - test-tag
      summary: Some summary
      operationId: operationId
      description: Operation description
      responses:
        200:
          description: OKK

我的.spectral.yml文件:

代码语言:javascript
运行
复制
extends: spectral:oas3
rules:
  my-rule-name:
    description: Tags must have a description.
    given: $.tags[*]
    then:
      field: description
      function: truthy

我的API规范包含tags,但是那里的标记没有任何描述,所以它应该失败,但它没有:

代码语言:javascript
运行
复制
>spectral lint api.yml

OpenAPI 3.x detected
No errors or warnings found!

即使我尝试更改为function: falsy,我预计在这两种情况中的任何一种都会失败-仍然没有警告和错误。看起来这条规则根本就不适用。

EN

Stack Overflow用户

回答已采纳

发布于 2019-10-02 20:48:23

我找到了。规则定义中需要一个字段recommended: true。文档中提到了它,但不知何故过于简短:

更新的.spectral.yml

代码语言:javascript
运行
复制
extends: spectral:oas3
rules:
  my-rule-name:
    description: Tags must have a description.
    given: $.tags[*]
    recommended: true
    then:
      field: description
      function: truthy

和输出:

代码语言:javascript
运行
复制
13:3  warning  my-rule-name  Tags must have a description.

✖ 1 problem (0 errors, 1 warning, 0 infos)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58167918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档