シリアル化が正しく機能することを確認し、 Postman などのテストクライアントのリクエストを再利用するために、クライアントJAX-RSリクエストでリクエスト本文を見る必要があります。
たとえばresource.addFilter(new com.Sun.jersey.api.client.filter.LoggingFilter());
を使用して、Jerseyでロギングをアクティブにできることがわかっています。ただし、ジャージーやRESTEasyの実装を直接使用するのではなく、JAX-RS APIを介して抽象化します。
_final WebTarget target =
ClientBuilder.newBuilder().build().target("http://localhost:8080");
_
ここでロギングを有効にするにはどうすればよいですか?
ただし、スニペットのclose()
メソッドがJAX-RS実装によって呼び出されない場合があります(この場合は_org.jboss.resteasy:resteasy-client-3.0.11.FINAL
_)。
JAX-RS 2.0(使用しているように見えます)には、 ClientRequestFilter
があります。 Client
またはWebTarget
でも登録できます。 filter
メソッドから、エンティティを取得し、ロギングを実行できます
public class LoggingFilter implements ClientRequestFilter {
private static final Logger LOG = Logger.getLogger(LoggingFilter.class.getName());
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
LOG.log(Level.INFO, requestContext.getEntity().toString());
}
}
[...]
Client client = ClientBuilder.newClient();
client.register(new LoggingFilter());
また、 ClientRequestContext
API は、あなたが興味を引くかもしれない他のいくつかのグッズのために。
関連項目: