6
기존 클래스가 있습니다. 사용자에게 시스템으로 SSO하도록 일부 헤더 매개 변수를 가져 오려는 기존 클래스가 있습니다. 수업은 다음과 같습니다. 내가 알아 내기 위해 노력하고있어클래스의 메서드에 @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 –