PHP code example of danmahara / laravel-openapi

1. Go to this page and download the library: Download danmahara/laravel-openapi library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

danmahara / laravel-openapi example snippets


use Illuminate\Support\Facades\Route;

Route::middleware('auth:sanctum')->post('api/users', [UserController::class, 'store']);

class UserController extends Controller
{
    public function store(StoreUserRequest $request): UserResource
    {
        return new UserResource(User::create($request->validated()));
    }
}

use Danmahara\LaravelOpenApi\Attributes\{ApiOperation, ApiParameter, ApiRequestBody, ApiResponse, ApiTag};

#[ApiTag(name: 'Users')]
class UserController extends Controller
{
    #[ApiOperation(summary: 'List users')]
    #[ApiParameter(name: 'page', in: 'query', type: 'integer')]
    #[ApiResponse(status: 200, description: 'Paginated users', resource: UserResource::class, isCollection: true)]
    public function index() { /* ... */ }

    #[ApiOperation(summary: 'Create a user')]
    #[ApiRequestBody(formRequest: StoreUserRequest::class)]
    #[ApiResponse(status: 201, resource: UserResource::class)]
    public function store(StoreUserRequest $request) { /* ... */ }
}

Route::middleware('auth:sanctum')
    ->get('api/users', [UserController::class, 'index']);

'middleware_security' => [
    'auth' => [
        'session' => ['type' => 'apiKey', 'in' => 'cookie', 'name' => 'laravel_session'],
    ],
    'custom-token' => [
        'token' => ['type' => 'http', 'scheme' => 'bearer'],
    ],
    'auth:api' => [], // Disable automatic detection for this middleware.
],