laravel swagger не работает с контроллером за пределами каталога приложения - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть контроллер ServiceBookingController, который находится за пределами laravel традиционного каталога app. Я делаю чванскую документацию. Он отлично работает с контроллерами, которые находятся внутри каталога App\Http\Controllers. Вот мой файл контроллера

<?php
namespace Modules\Beauty\Http\Controllers\API;// here is the directory

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class ServiceBookingController extends Controller{
/**
     * @OA\Post(
     *     path="/beauty/list-customer-service-bookings",
     *     tags={"beauty_customer_bookings"},
     *     summary="List Customer Bookings.",
     *     operationId="Beauty_Customer_Bookings",
     *     @OA\Parameter(
     *         name="customer_id",
     *         in="query",
     *         description="customer id",
     *         required=true,
     *         @OA\Schema(
     *             type="integer",
     *             default="482"
     *         )
     *     ),
     *     @OA\Response(
     *         response=422,
     *         description="validation errors."
     *     ),
     *     @OA\Response(
     *          response="200",
     *          description="Customer Bookings."
     *     ),
     *     @OA\Response(
     *          response="401",
     *          description="auth failed."
     *     ),
     * )
     */
  public function list_customer_service_bookings(Request $request)
  {
    ...
  }

}

Я хочу использовать чванство внутри list_customer_service_bookings контроллера для его функции list_customer_service_bookings. Запрос API не отображается в пользовательском интерфейсе Swagger. Есть предложения?

1 Ответ

1 голос
/ 11 февраля 2020

Для автоматической загрузки пространства имен Modules необходимо отредактировать раздел автозагрузки composer.json, чтобы он выглядел следующим образом:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "Modules\\": "modules/"
    }
},

Затем

выполните следующие команды

php artisan clear-compiled
composer dumpautoload
composer update
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...