TYPO3中t3api扩展返回404,自定义API端点配置疑问
TYPO3 11.5 + t3api 404问题排查方案
核心结论
t3api 基于 Doctrine 注解自动生成API路由,不需要手动编写控制器,你的404问题大概率是配置或缓存导致,按以下步骤排查:
校验@ApiResource注解格式
确保Project模型的注解命名空间正确,集合路由配置无误:use T3api\Annotation\ApiResource; /** * @ApiResource( * collectionOperations={ * "get"={"path"="/projects"} * }, * itemOperations={} * ) */ class Project extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { // 模型属性定义... }确认路由配置导入顺序
在config/routes.yaml中,t3api的路由导入要放在自定义路由之前,避免被覆盖:imports: - { resource: "EXT:t3api/Configuration/Routes.yaml" }配置完成后强制清理TYPO3全缓存(包括配置缓存、路由缓存)。
使用正确的API访问路径
t3api默认路由前缀为/api,所以你的完整访问URL应该是:http://localhost/Typo3/geraldib-site/public/api/projects
不要直接访问根路径,必须加上前缀+配置的/projects路径。验证模型与扩展配置
确保Project模型所在的扩展已激活,并且Extbase持久化配置正确(在扩展的ext_typoscript_setup.txt中):config.tx_extbase { persistence { classes { Vendor\YourExtension\Domain\Model\Project { mapping { tableName = tx_yourextension_domain_model_project } } } } }检查服务器URL重写规则
确认public目录下的.htaccess(Apache)或nginx配置已正确设置TYPO3的URL重写,否则路由无法被解析为t3api的处理逻辑。
内容的提问来源于stack exchange,提问作者Gerald Ibra
相关产品推荐
相关产品推荐

