<aside>
클라이언트가 지켜야 할 입력 조건
아직 정하지 않은 정책은 확정된 검증 조건에 포함하지 않는다.
</aside>
회원·인증
일반 사용자 회원가입
POST /api/public/auth/signup · MemberCreateRequest
- email
- 필수: null·빈 문자열·공백만 입력할 수 없다.
- 형식: 이메일 형식이어야 한다.
- 최대 길이: 50자
- 중복: 허용하지 않음
- password
- 필수: null·빈 문자열·공백만 입력할 수 없다.
- 길이·문자 조합: 정책 미정이며 현재 DTO에 해당 검증이 없다.
- nickname
- 필수: null·빈 문자열·공백만 입력할 수 없다.
- 최대 길이: 20자
- 중복: 허용하지 않음
- 형식·필수값·길이 검증 실패는 400으로 응답한다.
- 이메일·닉네임 중복은 409로 응답한다. 탈퇴한 회원의 값도 현재 중복 검사에 포함한다.
- 역할·ID·생성일은 가입 요청 DTO에서 받지 않는다. 일반 가입 역할은 서버에서 CUSTOMER로 지정한다.
- 필드별 검증 메시지
추가 작성 양식
상세 요청·응답: 일반 사용자 회원가입 · 모델: API 모델
기준 데이터 · 이슈 #3
- name은 null·빈 문자열·공백만 입력할 수 없습니다. 앞뒤 공백을 제거하고 최대 50자로 제한합니다.
- 대분류·시·도 이름은 해당 단계 전체에서 중복을 검사합니다. 소분류·시·군·구 이름은 같은 상위 항목 안에서 검사하며 대소문자를 구분하지 않습니다. 다른 상위 항목에는 같은 이름을 등록할 수 있습니다.
- 소분류의 firstCategoryId와 시·군·구의 firstRegionId는 필수 양수이며 존재하는 상위 항목을 참조해야 합니다. 등록에서는 Path로 전달하고 수정에서는 Body로 전달합니다. 상위 항목이 없으면 404로 응답합니다.
- code는 앞뒤 공백을 제거한 숫자 10자리 문자열입니다. 시·도와 시·군·구 양쪽의 코드 중복을 검사합니다.