Mock Data Server
Next.js 테스트용 Mock API 서버 (JSON & XML 지원)
사용 가능한 API 엔드포인트
GET
테스트/api/users사용자 목록 - 사용자 정보, 역할, 프로필 이미지 포함
POST
POST 요청 필요/api/users사용자 생성 - 이름, 이메일, 역할 등으로 새 사용자 생성
GET
테스트/api/posts게시물 목록 - 제목, 내용, 작성자, 카테고리, 태그, 좋아요 수 등
POST
POST 요청 필요/api/posts게시글 생성 - 제목, 내용, 작성자, 카테고리 등으로 새 게시글 생성
GET
테스트/api/products상품 목록 - 가격, 재고, 평점, 리뷰 수, 이미지 등
POST
POST 요청 필요/api/products상품 생성 - 이름, 가격, 설명, 재고 등으로 새 상품 생성
GET
테스트/api/comments댓글 목록 - 게시물별 댓글, 작성자 정보 포함
POST
POST 요청 필요/api/comments댓글 생성 - 게시물 ID, 사용자 정보, 댓글 내용으로 새 댓글 생성
GET
테스트/api/orders주문 목록 - 주문 상태, 상품 정보, 배송 추적, 결제 정보 등
POST
POST 요청 필요/api/orders주문 생성 - 상품 목록, 배송지, 결제 정보로 새 주문 생성
POST
POST 요청 필요/api/xmlXML 요청 처리 - XML 형식의 요청을 받아 XML로 응답 (application/xml, text/xml 지원)
GET
테스트/api/todos할일 목록 - 완료 상태, 우선순위, 담당자, 마감일 등
GET
테스트/api/categories카테고리 목록 - 계층 구조, 아이콘, 색상, 게시물 수 등
GET
테스트/api/notifications알림 목록 - 읽음 상태, 알림 타입, 우선순위 등
GET
테스트/api/analytics분석 데이터 - 사용자 성장, 트래픽 소스, 인기 게시물, 매출 등
GET
테스트/api/settings설정 정보 - 일반, 기능, 보안, 알림, 테마, API 설정 등
빠른 시작
1. 개발 서버 실행
npm run dev2. GET 요청 예시
fetch('http://localhost:3000/api/users')
.then(response => response.json())
.then(data => console.log(data));3. POST 요청 예시 (JSON)
fetch('http://localhost:3000/api/users', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: '홍길동',
email: 'hong@example.com',
role: 'user'
})
})
.then(response => response.json())
.then(data => console.log(data));4. POST 요청 예시 (XML)
fetch('http://localhost:3000/api/xml', {
method: 'POST',
headers: { 'Content-Type': 'application/xml' },
body: `<?xml version="1.0" encoding="UTF-8"?>
<request>
<user>
<name>홍길동</name>
<email>hong@example.com</email>
</user>
</request>`
})
.then(response => response.text())
.then(xml => console.log(xml));5. 응답 형식 (JSON)
{
"success": true,
"data": [...],
"total": 5,
"timestamp": "2024-11-07T10:30:00Z"
}6. 응답 형식 (XML)
<?xml version="1.0" encoding="UTF-8"?>
<response status="success" timestamp="2024-11-07T10:30:00Z">
<message>XML 요청이 성공적으로 처리되었습니다.</message>
<data>
<id>1234</id>
<processed>true</processed>
</data>
</response>