mirko/t3customroutes

用于注册自定义API端点的TYPO3扩展

安装: 458

依赖者: 0

建议者: 0

安全性: 0

星标: 9

关注者: 0

分支: 0

开放问题: 0

类型:typo3-cms-extension

0.0.2 2023-02-02 15:32 UTC

This package is auto-updated.

Last update: 2024-09-30 01:50:34 UTC


README

"自定义路由"扩展(EXT:t3customroutes)提供了声明自己的API端点和自定义URL的可能性

安装

composer require mirko/t3customroutes 

配置

在您的网站config.yaml文件的底部添加以下行来导入路由增强器。

imports:
  - { resource: "EXT:t3customroutes/Configuration/Routing/config.yaml" }

如果您不想使用导入,也可以直接在您的网站配置中手动添加新的T3apiResourceEnhancer类型的路由增强器。

routeEnhancers:
  CustomRoutes:
    type: RoutesResourceEnhancer

创建自定义API端点

下一步是在EXT:{extkey}/Configuration/routes.yaml中注册自定义路由

在YAML中创建路由

# config/routes.yaml
blog_list:
  path: /blog
  # the controller value has the format 'controller_class::method_name'
  controller: App\Controller\BlogController::list

匹配HTTP方法

默认情况下,路由匹配任何HTTP动词(GETPOSTPUT等)。使用methods选项来限制每个路由应响应的动词

# config/routes.yaml
api_post_show:
  path: /api/posts/{id}
  controller: App\Controller\BlogApiController::show
  methods: GET

api_post_edit:
  path: /api/posts/{id}
  controller: App\Controller\BlogApiController::edit
  methods: PUT

方法参数

class BlogController
{
    public function list(int $page)
    {
        return 'basic api route';
    }
}
# config/routes.yaml
blog_list:
  path: /blog/{page}
  controller: App\Controller\BlogController::list
  defaults:
    page: 1

blog_show:
# ...

您可能还需要在您的扩展中配置依赖注入

TYPO3主文档

贡献

您可以通过向此存储库的master分支提交pull request来做出贡献。