RestEasy를 사용하여 REST 서비스를 해석한다고 가정합니다.
@Context 주석은 당신이 javax.ws.rs.core.HttpHeaders, javax.ws.rs의 인스턴스를 주입 할 수 있습니다 : @Context를 사용하여 HTTP 응답 객체를 주입하는 좋은 기능을 제공
. core.UriInfo, javax.ws.rs.core.Request, javax.servlet.HttpServletRequest, javax.servlet.HttpServletResponse, javax.servlet.ServletConfig, javax.servlet.ServletContext 및 javax.ws.rs.core.SecurityContext 객체
@Path("/")
public class MyService {
@Context org.jboss.resteasy.spi.HttpResponse response;
@GET @Path("/") public void myMethod(){
response.sendError(499, "The file was censored by NSA.")
}
}
하지만 어쩌면 당신은 오히려 독점 HTTP 헤더 사용을 고려해야합니다 : 보인다
response.getOutputHeaders().putSingle("X-MyApp-Error",
"499 Our server is down and admin is on holiday. Mañana.");
하지 마십시오. 등록되지 않은 상태 코드를 사용하거나 이유 구문에 의존하는 것은 나쁜 아이디어입니다. –
모든 경우에 해당되는 것은 아닙니다. 그들은 그것을위한 좋은 이유가 있을지도 모른다 - 예를 들면. 프록시는 다른 HTTP 헤더를 어딘가에서 먹는다. –