承接 on1kel/oas-profile-31 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

on1kel/oas-profile-31

最新稳定版本:v1.0.2

Composer 安装命令:

composer require on1kel/oas-profile-31

包简介

OpenAPI 3.1 profile for on1kel/oas-core (features, allowed/required keys, extra rules).

README 文档

README

Профиль OpenAPI 3.1 для on1kel/oas-core

Добавляет поддержку правил и ограничений OpenAPI 3.1, включая детекцию версии, расширенную валидацию схем и CLI-утилиту oas-validate.

Установка

composer require on1kel/oas-profile-31

Требования: PHP ≥ 8.2, пакет on1kel/oas-core.

Использование

CLI

Проверить спецификацию:

php vendor/bin/oas-validate openapi.yaml

Вывод в JSON:

php vendor/bin/oas-validate openapi.yaml --format=json

Код выхода:

  • 0 — ошибок нет
  • 1 — есть ошибки уровня Error

PHP-API

use On1kel\OAS\Profile31\Bootstrap\PipelineFactory;
use On1kel\OAS\Contract\Profile\Enum\Strictness;

$pipeline = PipelineFactory::makeDefault();

$report = $pipeline->parseAndValidate(
    __DIR__.'/openapi.yaml',
    Strictness::Strict
);

foreach ($report->all() as $error) {
    echo "{$error->severity->name}: {$error->message}\n";
}

Основные возможности

  • ✅ Профиль OAS 3.1 с декларацией поддерживаемых ключей
  • ✅ Автоматическое определение версии спецификации
  • ✅ Поддержка $ref, jsonSchemaDialect, webhooks
  • ✅ Валидация и отчёт о нарушениях с уровнями Error / Warning
  • ✅ CLI и API-использование
  • ✅ Совместимость с JSON Schema 2020-12

Дополнительные проверки (OAS 3.1)

Правило Описание Уровень
NullableKeywordRule Обнаруживает устаревшее свойство nullable. Рекомендуется заменить на type: ["...", "null"]. Error / Warning
JsonSchemaDialectRule Проверяет корректность URI в jsonSchemaDialect. Error / Warning

Режимы строгости

Режим Поведение
Strict Ошибки блокируют сборку
Lax Нарушения отмечаются как предупреждения

Архитектура

  • OAS31Profile — профиль спецификации 3.1
  • Profile31ValidatorFactory — создаёт валидатор с правилами 3.1
  • PipelineFactory — единая точка входа (детекция, парсинг, валидация)
  • ValidateCommand — CLI-интерфейс

Лицензия

MIT © on1kel

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 1

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-24