You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API Platform升级至2.7后Swagger页面出现TypeError错误

问题原因分析

这个错误的核心是LexikJWTAuthenticationBundle的OpenApi工厂类初始化时,$checkPath参数被传入了null,但该参数要求必须是字符串类型。API功能正常是因为业务接口的运行不依赖Swagger UI的OpenApi文档生成逻辑,只有访问Swagger HTML页面时才会触发OpenApi文档的构建流程,进而调用到这个有参数缺失问题的工厂类。

解决方法
  • 补全LexikJWT的配置项
    打开config/packages/lexik_jwt_authentication.yaml,确保存在check_path配置,填写你项目中实际的JWT校验接口路径:
    lexik_jwt_authentication:
        # 其他已有的配置...
        check_path: /api/login_check
    
  • 清理项目缓存
    升级后缓存可能残留旧的容器配置,执行缓存清理命令:
    php bin/console cache:clear --env=dev
    php bin/console cache:clear --env=prod
    
  • 检查集成服务配置
    如果项目中手动配置过OpenApi相关服务,确认没有覆盖默认的参数注入逻辑,保证checkPath参数能正确传递给Lexik的OpenApiFactory类。
补充说明

API Platform 2.7对OpenApi文档生成逻辑做了重构,和LexikJWT的集成对配置参数的要求更严格。旧版本(1.2)可能不需要显式配置check_path就能生成Swagger文档,但升级后这个参数成为OpenApiFactory初始化的必填项——它需要用这个路径来生成Swagger文档里的JWT安全认证相关定义。

内容的提问来源于stack exchange,提问作者Guillaume

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:45:28