Vorrei poter stampare il carico utile JSON JSON-RS 2 JSON dalla richiesta, indipendentemente dall'attuale implementazione sul mio server applicazioni.JAX-RS 2 print Richiesta JSON
Ho provato le soluzioni suggerite su SO ma tutte includono i binari dall'implementazione reale (come Jersey e simili) e sono autorizzato solo a utilizzare javaee-api v 7.0 nella mia applicazione.
Ho provato a implementare ClientRequestFilter e ClientResponseFilter sul mio Client ma non contengono entità serializzate.
Ecco un esempio di client:
WebTarget target = ClientBuilder.newClient().register(MyLoggingFilter.class).target("http://localhost:8080/loggingtest/resources/accounts");
Account acc = target.request().accept(MediaType.APPLICATION_JSON).get(account.Account.class);
Ed ecco l'implementazione di MyLoggingFilter:
@Provider
public class MyLoggingFilter implements ClientRequestFilter, ClientResponseFilter {
private static final Logger LOGGER = Logger.getLogger(MyLoggingFilter.class.getName());
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
LOGGER.log(Level.SEVERE, "Request method: {0}", requestContext.getMethod());
}
@Override
public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
LOGGER.log(Level.SEVERE, "Response status: {0}", responseContext.getStatus());
}
}
funziona alla grande. Ho solo bisogno di annotare il filtro come @Provider e registrarlo sul mio Client e registra JSON da POSTed Entity. BTW, sto usando JAX-B per serializzare Entities. Grazie per il tuo tempo, bel padre, ho il mio upvote e l'accettazione. – D00de
Ottimo per il debugging! –