Looking to hire Laravel developers? Try LaraJobs

laravel-data-openapi-generator maintained by nicoandra

Description
Generate OpenAPI specification from Laravel routes and Laravel Data objects.
Last update
2026/04/18 03:44 (dev-php-8.4)
License
Links
Downloads
20

Comments
comments powered by Disqus

OpenAPI Generator using Laravel Data

Generate OpenAPI specification from Laravel routes and Laravel Data objects

Install

Add composer repository

In composer.json add this repository:

    "repositories": [
        {
            "type": "github",
            "url": "https://github.com/nicoandra/laravel-data-openapi-generator"
        }
    ],

Install

composer require nicoandra/laravel-data-openapi-generator

Optional

Version

Add a app.version config in app.php to set the version in the openapi specification:

    'version' => env('APP_VERSION', '1.0.0'),

Vite PWA config

If using vite-plugin-pwa, make sure to exclude '/api/' routes from the serviceworker using this config:

VitePWA({
    workbox: {
        navigateFallbackDenylist: [
            new RegExp('/api/.+'),
        ],
    },
})

Vue page

<route lang="json">
{
    "meta": {
        "public": true
    }
}
</route>

<template>
    <iframe
        :src="url"
        style="width: calc(100vw - 40px);height: calc(100vh - 80px); border: none;"
    />
</template>

<script lang="ts" setup>
const url = `${import.meta.env.VITE_APP_URL}/api/openapi`;
</script>

Usage

Config

php artisan vendor:publish --tag=openapi-generator-config

Generate

php artisan openapi:generate

View

Swagger available at APP_URL/api/openapi

Development

  1. Run make install to install all dependencies
  2. Run make test to run tests