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;
}
}
我試圖搞清楚的是我怎麼叫getAllHeaders()
與@Context
說法?我發現了很多我擁有的課程的例子,但沒有顯示如何調用它。
我也試過把註釋放在類裏面而不是作爲參數。
@Context
HttpHeaders httpHeaders;
,但是當我試圖訪問httpHeaders.getAllHeaders()
返回null。我假設它並沒有真正創建,因爲javax文檔說它永遠不會返回null。
我想在我的SSOAuthorizationFilter.java中調用它,但也嘗試通過控制器訪問它。
您正在使用哪個框架?春/ RestEasy的/新澤西? –
@ Shiraaz.M春天 –