길민호(ethan.mino)
코딩수첩
길민호(ethan.mino)
전체 방문자
오늘
어제
  • 분류 전체보기 (215)
    • Computer Science (0)
    • Web (6)
      • CSS (0)
      • HTML (0)
    • Node.js (0)
    • Javascript (2)
    • Java (46)
      • Spring (27)
      • Jsp (0)
    • C\C++ (2)
    • Programming (0)
    • AI (0)
    • Database (7)
    • Git (5)
    • Algorithm (119)
      • Stack (0)
      • Queue (0)
      • Linked List (0)
      • Sort (0)
      • Simulation (27)
      • Recursion (0)
      • Backtracking (4)
      • Two Pointer (3)
      • Dynamic Programming (19)
      • Greedy (10)
      • Graph (3)
      • Dijkstra (1)
      • BFS\DFS (8)
      • Floyd (1)
      • MST (4)
      • Tree (4)
      • Binary Search (8)
      • Binary Search Tree (4)
    • IntelliJ (4)
    • Vscode (0)
    • Operating System (0)
    • 후기 (3)
    • 성장일지 (13)
    • 스터디 (7)
    • 설치 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ㅡ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
길민호(ethan.mino)

코딩수첩

Rest Controller란?
Java/Spring

Rest Controller란?

2020. 7. 1. 18:49

@RestController

  • Spring 4에서 Rest API 또는 Web API를 개발하기 위해 등장한 어노테이션
  • 이전 버전의 @Controller와 @ResponseBody를 포함한다.

Rest Controller를 사용하기 위해서는 MesageConvertor가 중요하다. 예를 들면 MessageConvertor는 외부에서 전달 받은 Json 메서드를 내부에서 사용할 수 있는 객체로 변환하거나 Controller를 리턴한 객체가 클라이언트에게 Json으로 변환해서 전달할 수 있도록 하는 역할을 수행한다.

 

MessageConvertor

  • 자바 객체와 HTTP 요청/ 응답 바디를 변환하는 역할
  • @ResponseBody, @RequestBody
  • @EnableWebMvc로 인한 기본 설정
  • WebMvcConfigurationSupport를 사용하여 Spring MVC 구현
  • Default MesssageConvertor를 제공
  • https://github.com/spring-projects/spring-framework/blob/master/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java의 addDefaultHttpMessageConvertors 메서드 항목 참조

MessageConvertor 종류

MessageConvertor 종류

JSON 응답하기

  • 컨트롤러의 메소드에서는 JSON으로 변환될 객체를 반환한다.
  • jackson라이브러리를 추가할 경우 객체를 JSON으로 변환하는 메시지 컨버터가 사용되도록 @EnableWebMvc에서 기본으로 설정되어 있다.
  • jackson라이브러리를 추가하지 않으면 JSON메시지로 변환할 수 없어 500 오류가 발생한다.
  • 사용자가 임의의 메시지 컨버터(MessageConvertor)를 사용하도록 하려면 WebMvcConfigurationAdapter의 configureMessageConverters 메소드를 오버라이딩 해야한다.

 

참조 URL

  • https://www.edwith.org/boostcourse-web/lecture/16773/

 

 

'Java > Spring' 카테고리의 다른 글

Maven이란?  (0) 2020.07.10
스웨거 (Swagger)란?  (0) 2020.07.01
Post 방식으로 데이터 전송시 한글이 깨지는 문제  (0) 2020.06.30
Spring Error  (0) 2020.06.30
레이어드 아키텍처(Layerd architecture)란?  (0) 2020.06.30
    'Java/Spring' 카테고리의 다른 글
    • Maven이란?
    • 스웨거 (Swagger)란?
    • Post 방식으로 데이터 전송시 한글이 깨지는 문제
    • Spring Error
    길민호(ethan.mino)
    길민호(ethan.mino)
    💻 호기심 많은 서버 개발자 길민호입니다.

    티스토리툴바