JAX-RSでHTTPリクエストヘッダを参照する
知っていればなんてことない話。
javax.ws.rs.core.HttpHeadersクラスを使います。
以下サンプル。import文は省略してます。
/** * @author jabaraster */ @Path("header") public class HeaderResource { /** * @param pHeaders * @return */ @GET @Path("") @Produces({ MediaType.TEXT_PLAIN }) public String getHeaders(@Context final HttpHeaders pHeaders) { final StringBuilder s = new StringBuilder(); for (final Entry<String, List<String>> header : pHeaders.getRequestHeaders().entrySet()) { s.append(header.getKey()).append("\t").append(header.getValue()); s.append("\n"); } return new String(s); } }
しかしJAX-RSってほんと便利でシンプルで美しい。