Skip to content
This repository was archived by the owner on Aug 13, 2022. It is now read-only.

Detail: 01.MemberAPI

Lee JE edited this page Jan 19, 2021 · 3 revisions

Member 에 대한 상세 스펙 설명서 입니다.

바로가기

1.회원가입 기능
2.회원 로그인 기능
3.회원 로그아웃 기능
4.탈퇴한 사용자 아이디 체크
5.회원정보 조회 기능
6.회원정보 수정 기능


📎 회원가입 기능

festa 어플리케이션의 신규 회원가입 기능입니다 회원가입 시 POST 요청을 보내 진행합니다


URL

POST /members/signUp
http://localhost:8080/

Request parameters

{ 
  "userId":"jeje123",
  "userName":"제인",
  "password":"test123##",
  "email":"aaa@aaa.com",
  "phoneNo":"01033334444",
  "userLevel":"USER",
  "cityName":"서울시",
  "districtName":"서초구",
  "streetCode":"1",
  "streetName":"반포로"
 }

Validation Check

  • userId : 공백불가
  • userName : 공백불가
  • password : 공백불가, 영문/숫자/특수기호 1개씩 포함되어있는 5~10자 사이의 비밀번호
  • email : 공백불가, 이메일 형식에 일치해야함
  • phoneNo : 공백불가, -(하이픈)없이 휴대폰번호 11자 입력필수
  • userLevel : 공백불가

Result

성공시 201 Status code(CREATED) 를 출력합니다




📎 회원 로그인 기능

festa 어플리케이션의 로그인 기능입니다.
POST 요청을 보내며, 우선적으로 탈퇴한 회원인지 아닌지를 판단 후 세션에 로그인정보를 저장합니다.


URL

POST /members/login
http://localhost:8080/

Request Parameters

{ 
  "userId":"jeje123",
  "password":"test123##",
 }

Validation Check

  • userId : 공백불가
  • password : 공백불가

Result

성공시 200 Status code(OK) 를 출력합니다
로그인에 실패한다면 400 Status code(BAD REQUEST) 를 출력합니다
로그인 시 탈퇴한 회원으로 로그인 한다면 IllegalStateException이 발생합니다




📎 로그아웃 기능

로그아웃 시에는 세션에 저장된 로그인 정보를 삭제합니다
POST 요청을 보내며, 파라미터를 따로 받지 않으며 로그인 상태가 아니라면
@CheckLoginStatus 에 의해 (userNo) is not Authorized 로그를 출력하며 동작을 하지 않습니다


URL

POST /members/logout
http://localhost:8080/

Result

성공시 200 Status code(OK) 를 출력합니다




📎 탈퇴한 사용자 아이디 체크

탈퇴한 사용자인지를 체크하는 기능으로 userId와 password를 파라미터로 받아 GET 요청으로 확인을 진행합니다.


URL

GET /members/{userId}/delete
http://localhost:8080/

Result

성공시 200 Status code(OK) 를 출력합니다
탈퇴한 회원이라면 IllegalStateException 을 발생시킵니다




📎 회원정보 조회 기능

회원의 상세 정보를 조회할 수 있는 기능으로
로그인한 회원의 userNo 값을 파라미터로 받아 GET 요청으로 조회합니다
로그인한 상태가 아니라면 @CheckLoginStatus 에 의해 동작하지 않습니다


URL

GET /members/{userNo}
http://localhost:8080/

Result

성공시 200 Status code(OK) 를 출력합니다
만약 조회된 것이 없다면 null을 리턴하며 200 Status code를 보내지만 body에 null 을 응답으로 보내줍니다




📎 회원정보 수정 기능

회원의 정보를 수정할 수 있는 기능으로 PUT 요청을 받아 수행합니다.
MemberInfo 객체를 받으며 객체 내 isUserModifyInfo 의 값이 true 인 경우에만
회원의 정보를 담은 테이블, 이벤트 참여자의 정보를 담은 테이블을 모두 업데이트 합니다.

만약 false 라면 회원정보 테이블만 업데이트를 수행합니다.

실행되기 전 @CheckLoginStatus 에 의해 USER 로 로그인 된 상태인지를 확인하며
로그인 한 상태가 아니라면 (userNo) is not Authorized 메시지를 출력하며 실행되지 않습니다.


URL

PUT /members/{userNo}
http://localhost:8080/

Request Parameters

{ 
  "userNo":4,
  "eventNo":5,
  "userName":"제인",
  "phoneNo":"01033334444",
  "cityName":"서울시",
  "districtName":"서초구",
  "streetCode":"1",
  "streetName":"반포로",
  "detail":"고속터미널역 지하2층",
  "isDeleted":"false",
  "isUserModifyInfo":"false"
 }

테이블 별 업데이트 되는 parameters

  • 회원테이블 members
    • userName
    • phoneNo

  • 회원 주소 테이블 members_address
    • cityname
    • districtName
    • streetCode
    • streetName

  • 참여자 테이블 participants
    • cityName
    • districtName
    • streetCode
    • streetName
    • detail

Result

성공시 200 Status code(OK) 를 출력합니다