스프링 MVC 기초

Sin·2024년 7월 29일

로깅 설명


Rest Controller


스프링 3.0 이후 주의점


요청 맵핑 방식

  • RequestMapping (기본)

  • HTTP METHOD 매핑

  • Path Variable 매핑

  • 특정 헤더 조건 매핑

파라미터 매핑과 비슷하지만, HTTP 헤더를 사용한다.
  • 미디어 타입 조건 매핑 (consumes)

  • 미디어 타입 조건 매핑 (produces)
CONSUMES, PRODUCES 차이

consumes : 클라이언트가 서버에게 보내는 데이터 타입을 명시하여 매핑
produces : 서버가 클라이언트에게 반환하는 데이터 타입을 명시하여 매핑

스프링 3.2 파라미터 인식 문제


Comment : @RequestParam 에 대한 어노테이션은 존재하는게 좋다고 생각 함. 
단순 int, String 같은 경우 해당 어노테이션으로 생략 할 수도 있지만 여러 상황을 고려 하여 
명시해주는게 좋을 것 같다

Comment2 : @RequestParam 에 defaultValue 설정시에 String 인 경우 "" 
공백으로 값이 들어와도 defaultValue 를 설정 해주게 되기 때문에 해당처리시에 주의하자.

@ModelAttibute 어노테이션 값 할당


@HTTPEntity 중요하다


@RequestBody, @ResponseBody 주의 내용

Comment :  @RequestBody 생략하면 @ModelAttribute 등으로 기본 처리 하기 때문에 생략하면 안됨.

HttpMessageConverter 관련해서 내부적으로 동작하게 되는데 
@ResponseBody Json 타입에 대해서는 
MappingJackson2HttpMessageConverter 를 사용해 자동 반환 된다.
  • @RestController 어노테이션은 @Controller, @ResponseBody를 합쳐놓은것


출처 김영한의 스프링 로드맵 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

0개의 댓글