Я хочу использовать swagger для документирования API laravel и заставить пользователей просматривать приложение, используя аналогичный маршрут к petstore.swagger.io
Это шаги, которые я предпринял, используя swagger-php
& l5-swagger
пакеты
- композитор требует zircote / swagger-php
- композитор требует darkaonline / l5-swagger
- Добавлен
L5Swagger\L5SwaggerServiceProvider::class,
в файл config / app.php - Добавлены аннотации к BookController
- Запустите команду
php artisan l5-swagger:generate
Затем я добавил аннотации к BookController, например:
/**
* @OA\Info(
* version="1.0.0",
* title="Laravel Test OpenApi",
* description="L5 Swagger OpenApi description",
* @OA\Contact(
* email="menadio1@gmail.com"
* ),
* @OA\License(
* name="Apache 2.0",
* url="http://www.apache.org/licenses/LICENSE-2.0.html"
* )
* )
*/
/**
* @OA\Server(
* url=L5_SWAGGER_CONST_HOST,
* description="L5 Swagger OpenApi dynamic host server"
* )
*
* @OA\Server(
* url="https://projects.dev/api/v1",
* description="L5 Swagger OpenApi Server"
* )
*/
class BookController extends Controller
{
/**
* @OA\Get(
* path="/books",
* operationId="getBooksList",
* tags={"Books"},
* summary="Get list of books",
* description="Returns list of books",
* @OA\Response(
* response=200,
* description="successful operation"
* ),
* @OA\Response(response=400, description="Bad request"),
* )
*
* Returns list of books
*/
public function index()
{
return BookResource::collection(Book::all());
}
}
На этом этапе я не надеваюне знаю, какой URL использовать при загрузке пользовательского интерфейса Swagger для просмотра документации API.Это единственное, что сейчас удерживает меня в задании на программирование, поэтому я немного отчаянно нуждаюсь в помощи.