open-solid/api 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

open-solid/api

最新稳定版本:v0.1.4

Composer 安装命令:

composer require open-solid/api

包简介

An OpenApi Bridge for Symfony

README 文档

README

A Symfony bundle that automatically generates OpenAPI specifications from your controller classes using swagger-php.

Define your API endpoints with PHP attributes, and the bundle takes care of generating a complete OpenAPI spec — including operations, request bodies, query parameters, path parameters, response schemas, and pagination.

Features

  • Route-driven spec generation — OpenAPI operations are derived from custom routing attributes (#[Get], #[Post], etc.), eliminating duplicate annotations
  • Automatic request body inference — Detects #[MapRequestPayload] parameters and generates request body schemas
  • Query parameter expansion — Expands #[MapQueryString] DTOs into individual query parameters
  • Response type inference — Infers response schemas from controller return types
  • Pagination support — Built-in Paginator interface with standardized paginated response format
  • GetOrCreate pattern — Dual 200/201 responses for upsert endpoints
  • Custom path parameter resolvers — Extensible resolution of value object path parameters (e.g. ProductId to UUID)
  • JSON streaming — Responses are streamed via Symfony's JsonStreamer for memory efficiency
  • Serve & export — Serve the spec at /docs.json or export it with php bin/console openapi:generate

Installation

composer require open-solid/api

Quick Start

#[Get(
    path: '/products/{id}',
    name: 'api_find_product',
    description: 'Find a Product',
    summary: 'Retrieves a single product by its unique identifier.',
    tags: ['Product'],
)]
final readonly class FindProductController
{
    public function __invoke(#[PathParameter] ProductId $id): ProductView
    {
        // ...
    }
}

This single class generates a complete OpenAPI operation with path parameters, response schema, and status codes — no extra annotations needed.

Documentation

License

MIT

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固