POST /api/public/auth/signup · 인증 불필요
일반 회원을 가입한다. 역할은 CUSTOMER이며 가입 후 자동 로그인은 하지 않는다.
Content-Type: application/json · Path·Query 없음
| 필드 | 타입 | 필수 | 조건 |
|---|---|---|---|
| string | 예 | 공백 불가 · 이메일 형식 · 최대 50자 · 중복 불가 | |
| password | string | 예 | 공백 불가 |
| nickname | string | 예 | 공백 불가 · 최대 20자 · 중복 불가 |
{
"email": "[email protected]",
"password": "GosuTest123!",
"nickname": "고객하나"
}
201 Created
{
"id": 1,
"email": "[email protected]",
"nickname": "고객하나",
"phone": null,
"role": "CUSTOMER"
}
id는 생성된 회원 ID이다. 전화번호는 현재 가입 시 받지 않아 null이다. 비밀번호와 인증 토큰은 반환하지 않는다.
| 상태 | 조건 | message |
|---|---|---|
| 400 | 필수값·형식·길이 검증 실패 | 입력값이 올바르지 않습니다. |
| 400 | 본문 누락·잘못된 JSON | 요청 본문을 읽을 수 없습니다. JSON 형식을 확인해주세요. |
| 409 | 이메일 중복 | 이미 사용 중인 이메일입니다. |
| 409 | 닉네임 중복 | 이미 사용 중인 닉네임입니다. |
| 409 | 동시 가입 등 DB 제약 위반 | 데이터 무결성 제약 조건 위반입니다. |
실패 본문은 공통 message 형식이다. 입력값 검증 실패에는 필드별 errors가 추가된다.
{
"message": "입력값이 올바르지 않습니다.",
"errors": {
"email": "올바른 이메일 형식으로 입력해 주세요.",
"password": "비밀번호를 입력해 주세요."
}
}
테스트 결과: 일반 사용자 회원가입 테스트