자바와 스프링 부트로 생애 최초 서버 만들기
#11 도서관 유저 조회 API 개발과 테스트 24.12.18
박태정 입니다.
2025. 2. 12. 16:24
반응형
유저 조회 API 개발과 테스트 🚀
안녕하세요! 오늘은 간단하지만 중요한 유저 조회 API를 개발하고, 그 테스트 방법까지 다뤄보려 합니다. 이번 포스팅에서는 API의 스펙부터 구현, 테스트까지 단계별로 살펴볼 예정이니 끝까지 함께해 주세요! 😊
1. 유저 조회 API 스펙 📋
먼저, 유저 조회 API의 주요 스펙을 정리해 보겠습니다.
- HTTP Method:
GET
- HTTP Path:
/user
- Query Parameters: 없음
- 결과 반환 형태:
- JSON 형식으로 유저 리스트를 반환.
- 각 유저는
id
,name
,age
정보를 포함.
Tip: Spring Boot의 Controller에서 getter가 있는 객체를 반환하면 JSON 형태로 자동 변환됩니다.
2. id는 무엇인가요? 🔍
API에서 반환되는 유저 데이터는 유저별 고유한 번호(id
)를 포함합니다.
이 id
는 리스트에 담긴 유저의 순서를 기반으로 생성됩니다.
- 예를 들어, 3명의 유저가 있다면 다음과 같은 구조로 반환됩니다:
[ {"id": 1, "name": "Alice", "age": 25}, {"id": 2, "name": "Bob", "age": 30}, {"id": 3, "name": "Charlie", "age": 22} ]
3. 유저 조회 API 구현하기 💻
아래는 간단한 유저 조회 API의 구현 예제입니다.
Controller
@GetMapping
을 사용하여 /user
엔드포인트를 생성합니다.
@GetMapping("/user")
public List<UserResponse> getUsers() {
List<UserResponse> responses = new ArrayList<>();
for (int i = 0; i < users.size(); i++) {
responses.add(new UserResponse(i + 1, users.get(i).getName(), users.get(i).getAge()));
}
return responses;
}
DTO (Data Transfer Object)
유저 정보를 전달하기 위한 DTO 클래스를 정의합니다.UserResponse
클래스는 다음과 같습니다:
package org.zerock.libraryapp.dto.user.response;
public class UserResponse {
private long id;
private String name;
private Integer age;
// Constructor
public UserResponse(long id, String name, Integer age) {
this.id = id;
this.name = name;
this.age = age;
}
// Getters
public long getId() {
return id;
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
}
Tip: DTO를 사용하면 데이터의 전달 구조를 명확히 정의할 수 있어 유지보수에 유리합니다.
4. API 테스트하기 🧪
API를 테스트하는 방법은 다양하지만, 가장 기본적인 방법은 Postman이나 CURL을 사용하는 것입니다.
Postman 사용 방법
- Request 설정:
- Method:
GET
- URL:
http://<your-server>/user
- Method:
- Send 버튼 클릭:
- 서버가 제대로 동작한다면 JSON 응답이 반환됩니다.
CURL 명령어
터미널에서 아래 명령어를 실행하여 테스트할 수도 있습니다.
curl -X GET http://<your-server>/user
테스트 시 확인할 점
- 반환되는 JSON의
id
,name
,age
가 올바른지 확인. - 유저 리스트의 순서와
id
가 일치하는지 검증.
마무리: 유저 조회 API의 핵심 요약 ✅
오늘은 간단한 유저 조회 API를 구현하고 테스트하는 방법을 살펴보았습니다.
다시 한번 핵심 내용을 요약해 볼까요?
GET /user
API는 유저 리스트를 JSON 형식으로 반환합니다.- 유저별 고유
id
는 리스트 순서를 기반으로 생성됩니다. - DTO를 활용해 명확한 데이터 구조를 설계합니다.
- Postman이나 CURL로 API를 간단히 테스트할 수 있습니다.
반응형