인프런 커뮤니티 질문&답변

relate16님의 프로필 이미지
relate16

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

어.. 갑자기 java 이해가 안가서 질문 올립니다.

해결된 질문

작성

·

292

0

@RequestMapping(value = "/error-page/500", produces = MediaType.APPLICATION_JSON_VALUE)

public ResponseEntity<Map<String, Object>> errorPage500Api( HttpServletRequest request, HttpServletResponse response) {

 

 log.info("API errorPage 500"); Map<String, Object> result = new HashMap<>();

 Exception ex = (Exception) request.getAttribute(ERROR_EXCEPTION);

 result.put("status", request.getAttribute(ERROR_STATUS_CODE));

 result.put("message", ex.getMessage());

 Integer statusCode = (Integer) request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);

 

 return new ResponseEntity(result, HttpStatus.valueOf(statusCode));

}

위의 코드에서 빨간색 코드 구현하다가 

의문점이 들었는데요

HttpStatus.valueOf()의 매개변수는 int를 받고 있는데

강의에서 넣었던

HttpStatus.valueOf(statusCode)

코드를 보면 statusCode는 Integer 타입이라서 .. 의문이 들더라구요.

 

int 매개변수 Integer 인자 등으로 검색해봤는데 딱히 원하는 게 안나와서.. 질문 드립니다;;

 

int 매개변수에는 원래

statusCode.intValue()처럼 따로 처리 안하고 그냥 Integer로 넣어도 되는 건가요 ?

 

아니면 HttpStatus.valueOf() 메서드에서만 그럴 수 있는 건가요..?

 

답변 1

2

안녕하세요. relate16님, 공식 서포터즈 David입니다.

해당 내용은 자바 autoboxing, unboxing에 대해 찾아보시면 됩니다.

감사합니다.

relate16님의 프로필 이미지
relate16
질문자

감사합니다 ! 찾아보겠습니다 ! :]

relate16님의 프로필 이미지
relate16

작성한 질문수

질문하기