일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 급성심근경색증
- Java
- 리스트
- 코딩
- 가입
- 중도인출
- jQuery
- 심장질환
- 특약
- javascript
- 프로그래밍
- 교보
- 보험료
- Vue.js
- 웹개발
- 수수료
- 파이썬
- 뇌출혈
- 문자열
- 납입
- python
- 사망
- 변환
- 교보생명
- PythonProgramming
- 프론트엔드
- 보험
- 자바스크립트
- 인출수수료
- 추가납입
- Today
- Total
SeouliteLab
[Java/자바] Spring @ResponseBody: HTTP 응답 데이터 직접 제어하기 본문
Spring 프레임워크에서 @ResponseBody 어노테이션은 컨트롤러 메서드가 HTTP 응답의 본문을 직접 제어할 때 사용됩니다. 이 어노테이션을 사용하면 컨트롤러 메서드에서 반환하는 객체가 HTTP 응답으로 변환되어 클라이언트에 전송됩니다. 이번 글에서는 @ResponseBody 어노테이션의 사용법과 예제 코드를 통해 자세히 알아보겠습니다.
1. 기본적인 @ResponseBody 사용법
가장 간단한 형태의 @ResponseBody 어노테이션은 컨트롤러 메서드에 적용됩니다. 이 경우에는 해당 메서드가 반환하는 객체가 HTTP 응답의 본문으로 사용됩니다.
예제 1: 기본적인 @ResponseBody 사용법
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello, World!";
}
}
위의 예제에서는 /hello
경로로의 GET 요청을 처리하는 메서드입니다. 이 메서드는 단순한 문자열 "Hello, World!"를 반환하며, 이 문자열이 HTTP 응답의 본문으로 사용됩니다.
2. 객체를 반환하는 @ResponseBody
@ResponseBody 어노테이션은 단순한 문자열 뿐만 아니라 객체를 반환할 수도 있습니다. Spring은 반환된 객체를 적절한 형식으로 변환하여 HTTP 응답으로 전송합니다.
예제 2: 객체를 반환하는 @ResponseBody
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/data")
@ResponseBody
public MyDataObject getData() {
MyDataObject data = new MyDataObject();
data.setName("John");
data.setAge(30);
return data;
}
}
위의 예제에서는 /data
경로로의 GET 요청을 처리하는 메서드입니다. 이 메서드는 MyDataObject라는 사용자 정의 클래스의 객체를 생성하여 반환합니다. Spring은 이 객체를 JSON 형식으로 변환하여 HTTP 응답으로 전송합니다.
3. 예제 코드
다음은 @ResponseBody 어노테이션을 사용한 예제 코드입니다.
예제 1: 기본적인 @ResponseBody 사용법
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello, World!";
}
}
예제 2: 객체를 반환하는 @ResponseBody
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/data")
@ResponseBody
public MyDataObject getData() {
MyDataObject data = new MyDataObject();
data.setName("John");
data.set
Age(30);
return data;
}
}
4. 결론
이상으로 Spring의 @ResponseBody 어노테이션에 대한 자세한 설명과 예제 코드를 살펴보았습니다. @ResponseBody 어노테이션을 사용하여 컨트롤러 메서드에서 HTTP 응답 데이터를 직접 제어할 수 있습니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] Lombok의 대표적인 Annotation과 역할 (0) | 2024.03.12 |
---|---|
[Java/자바] Spring @SpringBootTest: 스프링 부트 애플리케이션 통합 테스트 (0) | 2024.03.12 |
[Java/자바] Spring @ModelAttribute: 메서드 파라미터와 모델 속성의 바인딩 (0) | 2024.03.12 |
[Java/자바] Spring @RequestBody: HTTP 요청의 본문을 메서드 파라미터로 받기 (0) | 2024.03.12 |
[Java/자바] Spring @PostMapping: HTTP POST 요청 처리하기 (0) | 2024.03.12 |