2013-06-18 13 views
7

Al momento disponiamo di un grande progetto API C# ServiceStack per tutti i servizi del nostro sistema. Voglio dividerlo in API più piccole che vengono eseguite separatamente, per facilità di implementazione e test. Piuttosto simile a quello che è descritto here da Mike Hadlow.Utilizzo di ServiceStack come livello di facciata API

Tuttavia, invece di utilizzare Nginx mi piacerebbe utilizzare ServiceStack come proxy inverso. Questa API "esterna" gestiva i problemi di autenticazione e quindi inoltrava qualsiasi richiesta in arrivo all'API interna pertinente, utilizzando una chiamata REST HTTP asincrona.

Come dovrei creare questo servizio di spedizione, però? Diciamo che ho un'API interna che accetta una chiamata/ciao. Se provo a creare un ServiceRunner personalizzato sull'host dell'API esterna, non riesco a intercettare NESSUNA chiamata. Si aspetta ancora che alcuni percorsi siano presenti, quindi chiamare/ciao sull'API esterna fallisce. Devo creare un percorso fittizio/ciao sull'host dell'API esterno per poterli intercettare con il mio ServiceRunner? Guardando il resto di ServiceStack sono sicuro che c'è un modo più pulito.

punti di bonus se si può ancora essere combinato con Swagger :)

risposta

1

Al momento questa domanda è stato originariamente chiesto, non c'era modo semplice per creare un percorso jolly fuori la radice del URL di base del servizio. Cioè se il servizio era ospitato nella radice, non c'era un modo semplice per creare un percorso jolly/{*}, lo stesso se il servizio era ospitato in un altro punto, ad esempio/api, non c'era un modo semplice per creare un/api/{ *} percorso jolly.

Tuttavia, il supporto per un Fallback route has recently been added to ServiceStack(see detailed example implementation.) Utilizzo di un percorso Fallback, è possibile delega tutte le richieste non riconosciuti al back-end senza dover enumerarli nel progetto ServiceStack. Non fornisce tuttavia il supporto di Swagger.

0

È possibile convertire facilmente ServiceStack in un proxy inverso con il nuovo Proxy Feature aggiunto in v4.5.10.

Problemi correlati