配置 Swagger UI 路由

Men*_*ena 3 php swagger swagger-php swagger-ui laravel-5.7

我想使用 swagger 来记录 Laravel API 并让用户使用与petstore.swagger.io

swagger-php这是我使用&l5-swagger包所采取的步骤

  1. 作曲家需要 zircote/swagger-php
  2. 作曲家需要 darkaonline/l5-swagger
  3. 添加L5Swagger\L5SwaggerServiceProvider::class,到 config/app.php 文件
  4. 为 BookController 添加注释
  5. 运行命令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());
    }
}
Run Code Online (Sandbox Code Playgroud)

此时我不知道使用什么 url 来加载 swagger UI 来查看 API 文档。这是目前在编码挑战中阻碍我的唯一因素,所以我有点迫切需要帮助。

Men*_*ena 5

唷...我能够加载 swagger UI 并使用查看 api 文档http://localhost:8000/api/documentation

我希望这能在其他人第一次使用 swagger 时节省大量时间。