Skip to content

API DOC

HYXO edited this page Jan 13, 2023 · 9 revisions

[API DOC]

1. USER


  • userId를 통해 특정 단일 유저 정보를 조회한다.
  • 응답예시

스크린샷 2023-01-13 오전 12 02 51

  • userId의 토큰과 이더 잔액을 조회한다.
  • 응답예시

스크린샷 2023-01-13 오전 12 03 20

GET http://20.214.190.113:5050/users/:userId/nfts/?offset={offset}&limit={limit}

  • userId가 소유한 모든 nft 정보를 조회한다.
  • pagenation을 고려하여 offset과 limit 값을 query로 받고, 둘 중 하나라도 없을 경우 전체 데이터를 응답값으로 보낸다.
  • 입력예시

스크린샷 2023-01-11 오후 8 52 57

  • 응답예시

스크린샷 2023-01-11 오후 5 19 43

GET http://20.214.190.113:5050/users/:userId/posts/?offset={offset}&limit={limit}

  • userId가 작성한 모든 post 정보를 조회한다.
  • pagenation을 고려하여 offset과 limit값을 query로 받고, 둘 중 하나라도 없을 경우 전체 데이터를 응답값으로 보낸다.
  • 입력예시(포스트맨 기준)

스크린샷 2023-01-11 오후 8 53 59

  • 응답예시

스크린샷 2023-01-11 오후 5 20 49

  • 회원가입을 한다.
  • 내부 동작은 다음과 같다.
    1. db에 email이 존재하는지 검사한다.
    2. web3 계정을 생성한다.
    3. 웰컴 eth, erc20, nft를 지급받는다.
    4. db를 갱신한다.
    5. 갱신된 db 결과를 응답으로 준다.
  • 입력 예시
{
    "email":"user3Email@test.com",
    "password":"user3password",
    "nickname":"user3nickname"
}
  • 응답 예시
{
    "id": 3,
    "email": "user3Email@test.com",
    "password": "user3password",
    "wallet_account": "0xF4f6a43FEB947606DB4eaAA131328994Cf3b029b",
    "eth": "10000000000000000",
    "login_provider": "local",
    "nickname": "user3nickname",
    "erc20": "10000000000000000",
    "wallet_pk": "0xb1a4db77c0b02ce9702231529344e4188cd45336d013b3db60cd959aeb1e1d7b",
    "updatedAt": "2023-01-07T14:59:06.055Z",
    "createdAt": "2023-01-07T14:59:05.772Z"
}
  • 로그인 한다.
  • 로그인을 호출하면 응답으로 accessToken을 돌려준다.
  • 쿠키에는 refreshToken을 보내준다.

Untitled (1)

  • 받은 accessToken을 헤더의 ‘Authorization’에 삽입해서 요청하면 서버는 토큰을 파싱해서 인증해준다.
  • 쿠키에 저장된 refreshToken이 있으면 새로운 accessToken을 발행해준다.
  • 응답예시

Untitled (2)

  • 유저 정보 수정. 비밀번호와 닉네임만 변경 가능.
  • 유저 id 값을 req.params 로 넣고, req.body에 password 와 nickname 입력.
  • 네이버 로그인의 경우 닉네임 변경만 가능하며, 로컬 로그인의 경우 비밀번호와 닉네임 모두 혹은 둘 중 하나만 변경도 가능하다.
  • 권한 인증 과정이 있기 때문에 req.headers.authorization 에 액세스 토큰이 보내주어야 한다.
  • 입력예시(포스트맨 기준)

스크린샷 2023-01-11 오후 10 05 54

  • 응답예시

스크린샷 2023-01-11 오후 10 06 18


2. POST

Index

Introduce

Role & Rule

Design

Tech

Demo

Clone this wiki locally