日期: 2025 年 2 月 7 日

  • l5-swagger如何设置服务端路径

    正如tests/storage/annotations/OpenApi/L5SwaggerAnnotationsExampleServer.php所示:

    <?php
    
    namespace Tests\storage\annotations\OpenApi;
    
    /**
     *  @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 L5SwaggerAnnotationsExampleServer
    {
    }

    L5_SWAGGER_CONST_HOST是作为一个变量直接引用的,这个变量在.env中设置,在实际项目中,尤其是多实例部署的产品,优先考虑用这种方法,而其中第二个是直接写死的地址,这种更适合相对固定的内部测试或者官方接口站点作为对照。实际上,api/doc还会依据L5_SWAGGER_BASE_PATH自动加载一个相对的接口地址,这个更适合用在调试环境,启动端口有可能会变,而且多个开发者的配置也不一定一致。L5_SWAGGER_CONST_HOST和L5_SWAGGER_BASE_PATH之间是相对独立的,可以搜索一下l5-swagger源代码看看逻辑,可惜这一点在l5-swagger的文档中说的并不清楚。