PHPackages                             adhenrique/openkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. adhenrique/openkit

ActiveLaravel-package[API Development](/categories/api)

adhenrique/openkit
==================

Uma biblioteca elegante com interface fluente para gerar documentação OpenAPI (Swagger) em aplicações Laravel.

v0.1.4(6mo ago)010MITPHPPHP ^8.2

Since Nov 4Pushed 6mo agoCompare

[ Source](https://github.com/adhenrique/openkit)[ Packagist](https://packagist.org/packages/adhenrique/openkit)[ RSS](/packages/adhenrique-openkit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (10)Versions (6)Used By (0)

🚀 OpenKit
---------

[](#-openkit)

**OpenKit** é uma biblioteca elegante com interface fluente para gerar documentação OpenAPI (v3.0) para aplicações Laravel.

Cansado de poluir seus Controllers com centenas de linhas de anotações `#[OA]`? OpenKit resolve esse problema adotando uma filosofia diferente: **Sua documentação de API é um contrato, e deve ser tratada como um cidadão de primeira classe, separada da sua lógica de implementação.**

Com OpenKit, você define sua API em um local central (`routes/openkit.php`) usando uma API fluente e expressiva em PHP puro.

### 🌟 Principais Funcionalidades

[](#-principais-funcionalidades)

- **Interface Fluente Elegante**: Descreva sua API com uma sintaxe encadeada e legível.
- **Contrato Centralizado**: Mantenha seus Controllers limpos. Toda a sua documentação vive em um só lugar.
- **Schemas Reutilizáveis**: Defina seus DTOs (`User`, `Product`, etc.) uma vez e referencie-os em qualquer lugar (`$ref`).
- **Integração com Laravel**: Configuração zero com auto-discovery de `ServiceProvider` e `Facade`.
- **Suporte Completo**: Define `paths`, `parameters`, `requestBodies`, `responses`, `securitySchemes` (Bearer, API Key) e mais.
- **Upload de Arquivos**: Suporte nativo para `multipart/form-data`.
- **Geração sob Demanda**: Gere seu `openapi.json` com um simples comando **artisan**.
- **UI Pronta para Uso**: Acessa uma bela UI (Swagger UI) em uma rota configurável, sem esforço.

### 📦 Instalação

[](#-instalação)

Você pode instalar o pacote via Composer:

```
composer require adhenrique/openkit
```

#### Configuração

[](#configuração)

O OpenKit usa o Package Auto-Discovery do Laravel. O `ServiceProvider` e a `Facade` serão registrados automaticamente.

Para publicar o arquivo de configuração, rode:

```
php artisan vendor:publish --provider="OpenKit\OpenKitServiceProvider" --tag="openkit-config"
```

Isso criará o arquivo config/openkit.php, onde você pode definir:

- A informação base da sua API (info.title, info.version, etc.).
- O prefixo da rota da UI (path).
- O local do seu arquivo de definições (definitions).

🏁 Guia Rápido (Getting Started)
-------------------------------

[](#-guia-rápido-getting-started)

### 1. Crie seu Arquivo de Definições

[](#1-crie-seu-arquivo-de-definições)

Por padrão, o OpenKit espera um arquivo em `routes/openkit.php`. Crie este arquivo.

### 2. Defina sua API

[](#2-defina-sua-api)

Adicione suas definições usando a facade OpenKit.

`routes/openkit.php`

```
