我在KrakenD配置中有两个路径: /city/toronto和/city/vancouver。我想创建另一条路径/城市/其他路径,以捕获将提供的所有其他城市。
我知道乍一看,有人会说,让城市成为路径参数,或者甚至会说,让城市成为查询参数。我已经考虑过这些选择,但它们并不可行。
在Krakend中有没有一种方法来定义catchall或fallback端点?我认为通配符可以允许我这样做,但我看不出这是如何工作的。
发布于 2021-10-06 08:08:39
在KrakenD的早期版本中,这是不可能的,但从1.4开始,您可以使用以前被认为是冲突的路由。下面的示例所做的正是您所期望的。使用-d标志运行:
JSON,其中krakend run -d -c krakend.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"
]
}
]
}
]
}https://stackoverflow.com/questions/69209556
复制相似问题