¿Es posible configurar rutas Zuul para que coincida con el comodines?

Alex Eggers:

Estoy construyendo una aplicación multi-arrendatario, donde el nombre del arrendatario está contenida dentro de cada URL. Por ejemplo, una ruta para recuperar todos los usuarios actuales del inquilino "Prueba" se vería así: /ui/api/Test/users. La parte de la aplicación actualmente estoy trabajando en un cliente que envía las solicitudes de cualquier otra aplicación que da soporte al servicio de base de datos, permitiendo al cliente para actuar como un intermediario.

Usted probablemente puede ver dónde va esto. Estoy usando Zuul para reenviar mis rutas, pero no todas las rutas que debe transmitirse de esta manera. A veces, la interfaz enviará solicitudes que se inician con la /ui/api/que no son peticiones de base de datos. Digamos que uno de estos es similar al siguiente: /ui/api/Test/Foo. Quiero poder configurar mis rutas Zuul de tal manera que pueda enviar cualquier URL que se ajuste al patrón /ui/api/*/users(donde * es cualquier cadena) sin ningún reenvío de otros.

Tengo, por supuesto, intentó usar simplemente /ui/api/*/users, pero esto no coincidirá con cualquier ruta. Yo no lo he probado, pero supongo que simplemente interpreta * como una parte real de la URL. Mi solución actual es hacer coincidir /ui/api/**y luego añadir **/Fooa los zuul.ignoredPatterns. Esto funciona, pero es supoptimal, ya que cualquier nuevo punto final que requiero para no ser reenviado tendrán que ser añadido aquí. Dado que el cliente está destinado a ser utilizado en diversos proyectos, las rutas reenviados no cambian, pero los que no deben ser voluntad. Esto no no se puede configurar por proyecto y por lo tanto una solución viable.

Esto es lo que la parte pertinente de mis application.properties se ve así:

zuul.ignoredPatterns = /**/login,/**/executeJobUrl,/**/createExecuteJobUrl

zuul.routes.user-manager.path = /ui/api/**
zuul.routes.user-manager.url = http://localhost:0/eis-user-manager/ui/api
zuul.routes.user-manager.stripPrefix = true
Norbert BICSI:

La solución de trabajo es utilizar **en el patrón. Por lo que sería

 /ui/api/**/users

Tengo la idea de que aquí . Crédito también a Alex Eggers para probar y sugerir para hacer una respuesta.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=232203&siteId=1
Recomendado
Clasificación