2015-05-04 14 views
12

Sto utilizzando lo Spark web framework per sviluppare un'API REST. C'è un modo per registrare automaticamente tutte le richieste in entrata e le risposte in uscita (parametri di query, intestazioni, codici di stato, ecc.) O devo aggiungere manualmente la registrazione per ciascuno dei gestori?Richieste e risposte di registrazione del framework web Spark

La documentazione di Spark non ha nulla a riguardo.

Grazie.

+0

Vorrei anche conoscere il modo "migliori pratiche" per farlo con Spark. Una rapida "registrazione" Ctrl + F nella pagina di documentazione di Spark non mostra nulla. –

risposta

8

Ecco la mia soluzione alternativa.

private static String requestInfoToString(Request request) { 
    StringBuilder sb = new StringBuilder(); 
    sb.append(request.requestMethod()); 
    sb.append(" " + request.url()); 
    sb.append(" " + request.body()); 
    return sb.toString(); 
} 

public static void main(String[] args) { 
    // Bunch of handlers 

    before((request, response) -> { 
     log.info(requestInfoToString(request)); 
    }); 
} 
+0

Un utile snippet. Tuttavia, conosci un modo per registrare le risposte? Ho provato a giocare con le risposte, senza fortuna, non posso recuperare il corpo. – pfh

+0

@pfh: è possibile utilizzare il filtro after (...) per registrare le risposte. –

+0

@RanilWijeyratne: Grazie, c'è stato un problema con Spark versione 2.3. L'aggiornamento a quello più recente sembra funzionare. – pfh