SIR

열심히 저도 만들어 보고 있습니다. > RESTful

RESTful

열심히 저도 만들어 보고 있습니다. 정보

열심히 저도 만들어 보고 있습니다.

본문

오늘은 레지스트하는 것을 만들어 봤습니다.

 

RESTful의 입출력에 대한 정의가 필요합니다.

같이 만들긴 힘들어도 가능하면 입출력에 대한 포맷을 같게 또는 비슷하게.

그래야 프런트엔드 단에서 코드를 같게 또는 아주 조금만 수정해도 되게..

 

회원 가입시에  필요한 정보가 아래와 같습니다.

 

800873677_1610837162.6169.png

 

그래서 우선 이 정보만 넣어서 토큰을 만드는 과정입니다.

 

800873677_1610837205.3421.png

 

입력 정보


{
  "member":{
    "mbId": "test01",
    "mbEmail": "*** 개인정보보호를 위한 이메일주소 노출방지 ***",
    "mbPassword": "test01",
    "mbName": "test01name",
    "mbNick": "test01nick",
    "mbMailling": 1,
    "mbOpen": 1
  }
}

 

> "member"를 두는 이유는 추측해 보건데,  보통 프라이머리 아이디를 `id`라고만 사용하는데,  그누보드, 씨아이보드등은 이름을 mb_no, mem_id 식으로 member라는 것의 줄임말을 앞에다 붙여주는 것 같습니다.

> 그런데 위와 같이 "member"를 앞에다 두면,  변수를 볼때,  member.id 식으로 표현을 할 수가 있기 때문에 이 `id`가 무엇에 속해 있는지를 금방 알수가 있습니다.

>> 초기에는 혹시 몰라서 mb라는 접두사를 넣어 두겠습니다.

>> 이 부분도 앞으로 어떻게 정할지를 서로 정해 놓으면 좋을 것 같습니다.

 


{
    "member": {
        "mbId": "test01",
        "mbName": "test01name",
        "mbNick": "test01nick",
        "mbEmail": "*** 개인정보보호를 위한 이메일주소 노출방지 ***",
        "mbMailling": 1,
        "mbOpen": 1,
        "mbNickDate": "2021-01-16",
        "mbOpenDate": "2021-01-16",
        "mbNo": 1,
        "created": "2021-01-16T22:40:32.090Z",
        "updated": "2021-01-16T22:40:32.090Z",
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYklkIjoidGVzdDAxIiwiaWF0IjoxNjEwODM2ODMyLCJleHAiOjE2MTA4NDA0MzJ9.cVFKgktCnfUsTknppsMi2x7Rfo-oSpaS6Ej8I2U02zw"
    }
}

> 프런트엔드도 마찬가지일 것 같습니다.  member.id로도 충분할 것 같습니다.

> 당분간은 member.mbId로.. (대문자가 들어가면 타이핑도 힘듬. 캐멀케이스인가..)

 

> 회원가입시에 토큰을 주는 방법이 있고, 안주는 방법도 있습니다

>> 그누보드에서는 가입과 동시에 바로 접속이 가능합니다.

>> 어떤 사이트는 가입후에 꼭 로그인을 다시해야 되는 경우입니다.

 

위의 토큰은 https://jwt.io/ 에서  페이로드를 체크해 볼수 있습니다.

시크릿 키 : thisIsASecretKey


{
  "mbId": "test01",
  "iat": 1610836832,
  "exp": 1610840432
}

> 아이디 말고 다른 정보는 필요할 것 같지 않아서...

> 토큰 익스파이어는 1시간입니다. 1시간 지나면 사용을 못하니 다시 로그인해야 됩니다.

 

아래는 로그인시..


{
  "member":{
    "mbId": "test01",
    "mbPassword": "test01"
  }
}

 

800873677_1610838493.4527.png

추천2

댓글 5개

최종본은 mbNo=>"id", mbId=>"userid" 그리고 나머지는 앞의 mb를 모두 없애는 것입니다.
그리고 변수만으로 이해하기 힘든 부분은 몇개 더 수정할 예정입니다.

mb_open 은 정보공개 필드 같은데..  to_public(toPublic) 나 infoOpen 식으로 변수만으로도 어떤 의미인지를 알 수 있게..
그누보드 네이밍이 예전엔 나쁘지 않았었는데,
최근 ORM을 쓰다 보면, 정말 설계를 다시 하고 싶은 욕망이 생기죠.
created_at, id, ref ...
가끔 도와주세요. 완전하게 다시 설계보다는 가능하면 비슷하게 하면서 다시 구조를 짜는 쪽으로..
이것도 하면서 조금씩 바뀔수도 있겠지만..
아이디, 닉네임, 실명, 레벨, 포인트, 쪽지 카운트, 스크랩 카운트 를 리턴하는 것으로 수정했습니다.
전체 51 |RSS
RESTful 내용 검색

회원로그인

진행중 포인트경매

  1. 참여27 회 시작21.03.02 12:00 종료21.03.07 12:00

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT