6
私は既存のクラスを持っています。クラスは以下の通りです。私が把握しようとしている何クラスのメソッドへの@Context引数の受け渡し
import java.util.Map;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import org.springframework.stereotype.Component;
@Component
@Path("/http")
public class HttpResource {
@GET
@Path("/getHeaders")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, String> getAllHeaders(@Context HttpHeaders headers) {
Map<String, String> headerList = new HashMap<String, String>();
for (String key : headers.getRequestHeaders().keySet()) {
String value = headers.getRequestHeader(key).get(0);
System.out.println(key + " : " + value);
headerList.put(key, value);
}
return headerList;
}
}
は、私が@Context
引数を指定して呼び出すgetAllHeaders()
行う方法ですか?私はクラスの例をたくさん見つけましたが、それをどのように呼び出すかはわかりません。
私は、注釈を引数の代わりにクラスの中に入れてみました。
@Context
HttpHeaders httpHeaders;
私がhttpHeaders.getAllHeaders()
にアクセスしようとすると、nullを返します。 javaxドキュメントはnullを返すことはないと言っているので、実際には作成されていないので、私は推測します。
私はこれを私のSSOAuthorizationFilter.javaの中で呼び出そうとしていますが、コントローラからもアクセスしようとしています。
どのフレームワークを使用していますか?春/レセプシー/ジャージー? –
@ Shiraaz.M Spring –