일부 사용자 지정 헤더 매개 변수를 HTTP 303 (리디렉션) 응답에 추가하려고합니다. 그러나 새로운 헤더가 응답에서 제거되는 것 같습니다.JAX-RS 사용자 지정 헤더가 응답 리디렉션에 추가되지 않음
이 코드는 요청을 수신하는 것을 의미하고, HTTP 303 응답을 반환합니다 :
@POST
@Path("/authorize")
@Produces("application/x-www-form-urlencoded")
public Response getOAuthGrant(@HeaderParam(OAuth2.AUTHORIZATION) @DefaultValue("") String authorization,
@HeaderParam(OAuth2.CLIENT_ID) @DefaultValue("") String clientId,
@HeaderParam(OAuth2.CLIENT_SECRET) @DefaultValue("") String clientSecret,
@HeaderParam(OAuth2.GRANT_TYPE) @DefaultValue("") String grantType) throws InternalServerException, UnauthorizedException {
OAuth2.validateGrantRequest(clientId, clientSecret, authorization, grantType);
ApiTokenV2 apiTokenV2 = new ApiTokenV2();
try {
apiTokenV2 = TokenManager.getApiToken(clientId);
if (apiTokenV2 != null) {
apiTokenV2.generateAccessGrant(clientId);
} else {
logger.error("Error in TokenEndpoint. Retrieved token is null.");
throw new InternalServerException("A server error occurred while trying to authorize the requester. Could not find 'generateAccessGrant' method");
}
} catch (NamingException e) {
throw new InternalServerException("A server error occurred while trying to authorize grant request. Could not find 'generateAccessGrant' method.", e);
}
return Response.status(Response.Status.SEE_OTHER)
.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
.header("Location", "/api/token")
.header("Authorization", "OAuth")
.header("Access-Grant", apiTokenV2.getAccessGrant())
.build();
}
내가 잘못 여기서 뭐하는 거지를? 대신 @Context
을 사용해야합니까?
사용 '@ Produces' 어노테이션. 귀하의 방법은 어떤 응답 엔터티를 생성합니까? –