2017-12-11 14 views
0

json으로 개체를 반환하고 @ResponseBody로 표시 한 메서드가있는 이전 컨트롤러가 있습니다.@ResponseBody를 ResponseEntity로 마이그레이션

문제는 상태 코드가 항상 200이지만 문제가되는 경우가 있습니다.

public MyResponse myMethod(){} 

나는 그것을 변경하려면 :

현재의 방법 서명은

public ResponseEntity<MyResponse> myMethod(){} 

그 모든 문제가되지 않습니다,하지만 난 두려워하는이 컨트롤러를 사용하여 그것을 클라이언트 응답을 구문 분석하지 못합니다. 그게 가능하니? Spring은 응답을 다른 객체와 함께 래핑합니까?

+1

아니요. 응답은 동일합니다. –

+1

아니요. 클라이언트에 문제가 없습니다. – pvpkiran

답변

3

@RequestMapping (https://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html)의 javadoc에 따르면 ResponseEntity의 본문이 풀려서 응답 출력 스트림에 기록됩니다. 따라서 출력은 동일해야합니다.

현재 릴리스의 설명서 (https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-return-types)는 본질적으로 동일한 내용을 말합니다.

+1

이것은 여전히 ​​맞지만 거의 10 년 전부터 인용 된 문서입니다. – chrylis

+0

이 경우 가장 최신 버전의 문서에 대한 링크를 변경하기위한 답변을 업데이트 할 수 있습니까? (https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html) –

+0

@RequestMapping의 현재 javadoc에는 ResponseEntity가 언급되어 있지 않습니다. – twinklehawk

0

Controller는 예외없이 실행되면 http 200을 반환합니다. 과 함께 ResponseEntity 객체를 반환하면 제대로 작동합니다.