Tak jak ostatnio wspomniałem, kolejnym krokiem musiało być utworzenie pewnej dynamicznej projekcji. A dokładniej to projekcja używa konfiguracji, gdzie jest zdefiniowane query. Ogólnie nie uważam tego za zbyt eleganckie rozwiązanie, ale daje duże możliwości konfiguracji, co chciałem uzyskać.
Tutaj przykładowy fragment konfiguracji, który mówi o tym co i w którym miejscu powinno być zwracane. Roboty będzie pewnie jeszcze więcej aby trochę to uporządkować, ale coś co chciałem uzyskać mniej-więcej się powiodło.
api:
posts:
posts/tag/:name:
params:
name: string
projection: >
SELECT * FROM Data WHERE tags LIKE ?
posts/user/:name:
params:
name: string
projection: >
SELECT * FROM Data WHERE author LIKE ?
posts:
projection: >
SELECT * FROM Data
Finalny efekt w swaggerze wygląda tak.
Teraz będę próbować konfigurować to do moich potrzeb i jeśli będzie brakować mi jakiejś funkcjonalności to będę starać się ją zaimplementować.