causal / 路由
将 HTTP/REST 请求路由到您的控制器/动作的服务。
0.5.0
2017-12-04 10:35 UTC
Requires
- php: >= 5.5.0, <= 7.2.99
- typo3/cms-core: >= 6.2.0, <= 8.7.99
Replaces
- routing: 0.5.0
- typo3-ter/routing: 0.5.0
This package is auto-updated.
Last update: 2024-09-10 17:50:55 UTC
README
将 HTTP/REST 请求路由到您的控制器/动作的服务。
值得了解:该路由受到 Flow 的路由器工作方式启发(了解更多)。
它做什么?
此扩展允许您根据基于 YAML 的路由配置路由请求。
https://#/routing/extension-key/my-demo/1234
https://#/routing/extension-key/my-demo/1234.json
https://#/routing/extension-key/my-demo/99
在本例中,1234
和 99
将映射到某些方法参数(如果需要,则转换为域对象)并且 json
将将响应格式设置为 json
。
示例路由
路由存储为 Configuration/Routes.yaml
(或 Configuration/Routes.yml
)并看起来像这样
-
name: 'Demo action with a parameter in a given format (JSON, ...)'
uriPattern: 'my-demo/{value}.{@format}'
defaults:
'@package': 'MyVendor.ExtensionKey'
'@plugin': 'API'
'@controller': 'Dummy'
'@action': 'demo'
-
name: 'Demo action with a parameter'
uriPattern: 'my-demo/{value}'
defaults:
'@package': 'MyVendor.ExtensionKey'
'@plugin': 'API'
'@controller': 'Dummy'
'@action': 'demo'
路由的名称作为响应中的附加头信息发送
安装
-
使用 Packagist 安装扩展
composer req causal/routing
-
转到扩展管理器并激活扩展
routing
-
向您的
.htaccess
添加重写规则RewriteRule ^routing/(.*)$ /index.php?eID=routing&route=$1 [QSA,L]
或者,如果您正在使用 Nginx
rewrite ^/routing/(.*)$ /index.php?eID=routing&route=$1 last;
这将使此扩展用于处理以 routing/
开头的请求。
提示:如果您需要支持本地化(&L=<some-language-uid>
),则应将上述建议路由更改为包括您网站的主页 uid(&id=<some-uid>
)。这是因为本地化模式和默认语言可能在复杂环境中不同,因此无法推断。
在 手册 中了解更多。
与 TYPO3 v8 兼容性
自 更改 78002 以来,您需要调整您的 TypoScript,以便不需要 cHash
。
plugin.tx_<yourext> {
features {
requireCHashArgumentForActionArguments = 0
}
}