我在 KrakenD 配置中有两条路径:/city/toronto 和 /city/vancouver。我想创建另一条路径 /city/other 来捕获将提供的所有其他城市。
我知道乍一看有人会说:将城市设为路径参数,或者甚至会说将城市设为查询参数。我已经考虑过这些选项,但它们是不可行的。
Krakend 中有没有办法定义一个包罗万象或后备端点?我虽然通配符可以让我这样做,但我不知道这是如何工作的。
我在 KrakenD 配置中有两条路径:/city/toronto 和 /city/vancouver。我想创建另一条路径 /city/other 来捕获将提供的所有其他城市。
我知道乍一看有人会说:将城市设为路径参数,或者甚至会说将城市设为查询参数。我已经考虑过这些选项,但它们是不可行的。
Krakend 中有没有办法定义一个包罗万象或后备端点?我虽然通配符可以让我这样做,但我不知道这是如何工作的。
在早期版本的 KrakenD 中这是不可能的,但从 1.4 开始,您可以使用之前被认为是冲突的路线。以下示例完全符合您的预期。-d
带着旗帜跑:
krakend run -d -c krakend.json
JSON文件的内容是:
{
"version": 2,
"endpoints": [
{
"endpoint": "/city/vancouver",
"backend": [
{
"url_pattern": "/__debug/vancouver",
"host": [
"http://localhost:8080"
]
}
]
},
{
"endpoint": "/city/toronto",
"backend": [
{
"url_pattern": "/__debug/toronto",
"host": [
"http://localhost:8080"
]
}
]
},
{
"endpoint": "/city/{other}",
"backend": [
{
"url_pattern": "/__debug/catchall",
"host": [
"http://localhost:8080"
]
}
]
}
]
}