728x90
REST (Representational State Trasfer)
URI는 하나의 고유한 리소스를 대표하도록 설계
디바이스의 종류 상관없이 공통으로 데이터 처리
REST API
사용자가 어떤 요청을 했을 때, 화면(HTML) 리턴 하지 않고
사용자가 필요로 하는 결과(데이터)만 리턴하는 방식
com.보드.컨트롤러 패키지에 TestController 클래스를 만들자.
- @ResponseBody : 스프링 메세지 컨터버(MessageConverter) 의해 화면(HTML) 아닌, 리턴 타입 자체를 리턴
- Map type 데이터 : Key, Value 쌍으로 이루어진 JSON 출력
package com.board.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class TestController {
@GetMapping(value = "/members")
@ResponseBody
public Map<Integer, Object> testByResponseBody() {
Map<Integer, Object> members = new HashMap<>();
for (int i = 0; i <= 20; i++) {
Map<String, Object> member = new HashMap<>();
member.put("idx", i);
member.put("nickname", i + "띵띵");
member.put("height", i + 20);
member.put("weight", i + 30);
members.put(i, member);
}
return members;
}
}
@ResponseBody
: 스프링 프레임워크에서 컨트롤러의 메소드가 HTTP 응답의 body로 변환되어 전송될 것을 나타냄
- @Controller, @RestController 가 부여된 메소드에서 사용
- 메소드 반환값은 HTTP 응답 본문에 직접 포함되어 클라이언트에게 전달
- 일반적으로 JSON, XML 등의 형태로 데이터 반환 시 사용
=> 반환 객체나 데이터가 직렬화되어 HTTP응답으로 변환되어 전달됨
728x90
'백엔드(Back-End) > Spring Boot' 카테고리의 다른 글
[sts4-Spring Boot] 17. REST 방식의 댓글 리스트, 작성, 삭제 (1) | 2023.12.07 |
---|---|
[sts4-Spring Boot] 16. REST 방식으로 댓글 CRUD (0) | 2023.12.07 |
[sts4-Spring Boot] 14. 이전 페이지 정보 유지하기 (0) | 2023.12.07 |
[Spring Boot] 13. Searching 검색 기능(1) (0) | 2023.12.06 |
[sts4-Spring Boot] 12. Paging 페이지 블록 및 페이지 이동하기 (0) | 2023.12.06 |