2017-09-26 15 views
3
( 200 같은 대부분 204하지만 잠재적으로 다른 사람) 내 목표는

Grails에와 빈 HTTP 응답을 렌더링 3

  • 주어진 상태 코드이있는 Grails의 3.1 컨트롤러 메소드에 HTTP 응답을 렌더링하는 것입니다

  • 없는 Content-Type, 또는 Content-Encoding 헤더 (오른쪽?, 어떤 내용이 없기 때문에)

render(status: 204)은 임의의 Content-Type: application/json 헤더를 추가합니다.

또한이 방법 (grails.artefact.controller.support.ResponseRenderer.render() 참조)은 오류가 아니지만이 경우 HttpServletResponse.sendError()을 호출합니다. 왜 그런가요?

response.status = statusCode.value() 
response.flushBuffer() 

을하지만이 Grails의 인터셉터 응답이 전송되기 전에 무언가를하기위한after 방법을 사용하여 우리를 방지 :

현재 우리가 직접 response 처리에 의해이 문제를 해결. 이것이 우리가 HTTP 응답 (예 : Content-Type 헤더 추가)을 변경하지 않는 다른 방법을 찾고있는 이유입니다.

+0

당신이'의 contentType을 통과 할 수 없습니다 : '에 어떤/당신-want''은'(렌더링)'뿐만 아니라'status'? –

+0

'render' 메소드는 body가 전달되지 않으면 ('text' 속성을 통해)'contentType' 속성을 무시합니다. –

답변

-1

당신은 쓸 수는 같은 :

response.status = 204 
render "" 
+0

이것은'Content-Type : text/html; charset = utf-8' 헤더를 추가합니다. –