Wir haben derzeit ein großes C# ServiceStack API-Projekt für alle Services in unserem System. Ich möchte dies in kleinere APIs aufteilen, die alle einzeln ausgeführt werden, um die Bereitstellung und das Testen zu erleichtern. Ziemlich ähnlich wie beschrieben here von Mike Hadlow.Verwenden von ServiceStack als API Facade Layer
Anstatt jedoch Nginx zu verwenden, möchte ich ServiceStack als Reverse-Proxy verwenden. Diese "externe" API würde Probleme bei der Authentifizierung behandeln und dann alle eingehenden Anfragen mithilfe eines asynchronen HTTP-REST-Aufrufs an die entsprechende interne API weiterleiten.
Wie würde ich diesen Service-Spediteur jedoch erstellen? Nehmen wir an, ich habe eine interne API, die einen/hallo-Aufruf akzeptiert. Wenn ich versuche, einen benutzerdefinierten ServiceRunner auf dem externen API-Host zu erstellen, kann ich JEDEN Aufruf nicht abfangen. Es erwartet immer noch, dass bestimmte Routen vorhanden sind, daher schlägt das Aufrufen von/hallo auf der externen API fehl. Muss ich eine Dummy/Hallo-Route auf dem externen API-Host erstellen, um sie mit meinem eigenen ServiceRunner abfangen zu können? Wenn ich den Rest von ServiceStack betrachte, bin ich sicher, dass es einen saubereren Weg gibt.
Bonuspunkte, wenn es noch mit Swagger kombiniert werden kann :)