자바와 스프링 부트로 생애 최초 서버 만들기
#9 POST API 개발 및 테스트! 24.12.18
박태정 입니다.
2025. 2. 12. 16:21
반응형
POST API 개발 및 테스트하기 🚀
- JSON과 DTO를 활용한 POST API 이해하기 -
웹 개발에서 데이터를 서버로 보내는 대표적인 방법 중 하나가 POST API입니다. 오늘은 POST API에서 데이터를 처리하는 방법, JSON의 기본 개념, 그리고 DTO를 사용해 데이터를 처리하는 방식까지 함께 알아보겠습니다.
1. POST에서 데이터를 어떻게 받을까? 🤔
POST API는 주로 HTTP Body를 통해 데이터를 받습니다.
이 데이터는 보통 JSON(자바스크립트 객체 표기법) 형태로 전달됩니다.
JSON이란?
JSON은 데이터를 키-값(key-value) 형태로 표현하는 객체 표현법입니다.
예를 들어, 한 사람에 대한 정보를 JSON으로 표현한다면 다음과 같습니다:
{
"name": "박태정",
"age": 24
}
- Key: 데이터를 나타내는 이름.
- Value: 데이터의 실제 값(문자열, 숫자, 리스트, JSON 등 다양하게 가능).
JSON은 계층 구조를 가지며, 리스트나 중첩된 JSON을 값으로 포함할 수 있습니다.
2. 곱셈 API 만들기 ✖️
API 사양
- HTTP Method: POST
- HTTP Path:
/multiply
- HTTP Body: JSON 형태로 두 숫자를 전달.
예시:
{
"number1": 10,
"number2": 20
}
API 코드 구현
Controller
@PostMapping("/multiply") // POST /multiply
public int multiplyTwoNumbers(@RequestBody CalculatorMultiplyRequest request) {
return request.getNumber1() * request.getNumber2();
}
- @PostMapping("/multiply")
POST 요청이/multiply
경로로 들어왔을 때 실행됩니다. - @RequestBody
HTTP Body에 담긴 JSON 데이터를 CalculatorMultiplyRequest 객체로 변환합니다.
DTO (Data Transfer Object)
package org.zerock.libraryapp.dto.calculator.request;
public class CalculatorMultiplyRequest {
private int number1;
private int number2;
public int getNumber1() {
return number1;
}
public int getNumber2() {
return number2;
}
}
- DTO란?
데이터의 전송과 변환을 담당하는 객체입니다.
JSON의 키(key) 이름과 DTO 필드 이름이 일치해야 데이터를 매핑할 수 있습니다.
3. 한 컨트롤러에 여러 API 추가 가능! 📚
컨트롤러 클래스 하나에 다양한 API를 추가할 수 있습니다.
예를 들어, 곱셈뿐만 아니라 덧셈, 나눗셈 API도 같은 컨트롤러에 추가 가능합니다.
4. API 실행 결과는? 🎬
곱셈 API를 호출하면 아래와 같은 결과를 얻을 수 있습니다.
- HTTP Status:
200 OK
- Content-Type:
application/json
- Response Body:
150
(10 * 15의 결과)
마무리: POST API, 어렵지 않아요! ✅
오늘은 POST API에서 데이터를 처리하는 방법을 알아보았습니다.
핵심 내용을 다시 한번 정리하면:
- POST API는 데이터를 HTTP Body로 받습니다.
- JSON은 데이터를 표현하는 키-값 구조의 표준 형식입니다.
- DTO를 통해 JSON 데이터를 자바 객체로 변환하고 처리할 수 있습니다.
- 한 컨트롤러 클래스에 여러 API를 구현할 수 있습니다.
반응형