Skip to content
yjjjwww edited this page Aug 28, 2022 · 3 revisions

Welcome to the BEB-05-Yoons-Family wiki!

<API 명세서>

- 회원가입

Request

POST /signup

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
user_password 문자열 유저의 비밀번호 필수

Response

응답은 다음과 같습니다.

  1. 해당 아이디가 이미 존재할 경우 409 상태코드와 "ID exists" 메세지로 응답합니다.

  2. 회원가입에 성공할 경우 201 상태코드와 "sign up success!"메세지로 응답하고 데이터베이스에 유저 정보를 저장합니다.

- 로그인

Request

POST /login

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
user_password 문자열 유저의 비밀번호 필수

Response

응답은 다음과 같습니다.

  1. 데이터베이스에 저장된 유저의 정보와 다를 경우 403 상태코드와 "not authorized" 메세지로 응답합니다.

  2. 회원가입에 성공할 경우 201 상태코드와 "Login success!"메세지로 응답합니다. session에 user_id 값이 추가됩니다.

- 로그아웃

Request

POST /logout

session에 로그인 기록이 있을 경우 로그아웃 됩니다.

- 계정정보 가져오기

Request

GET /userinfo

session에 로그인 기록이 있을 경우 해당 user_id 데이터를 가져옵니다.

Response

응답은 다음과 같은 json형태입니다.

{
    "data": [
        {
            "user_id": "test7",
            "user_password": "2222",
            "user_address": "0x29955860fC9E5AD8f71575A6a234DCac46243e46",
            "user_eth": "0",
            "user_token": "0",
            "created_at": "2022-08-22T10:44:39.000Z"
        }
    ],
    "message": "ok"
}

- 게시글 작성

Request

POST /article

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
post_title 문자열 게시글 제목 필수
post_content 문자열 게시글 내용 필수

Response

응답은 다음과 같습니다.

  1. 201 상태코드와 "success!" 메세지로 응답하고 게시글 정보를 데이터베이스에 저장합니다.
  2. 게시글을 작성한 유저에게 보상으로 10토큰을 지급합니다.

- 모든 게시글 조회

Request

GET /article

Response

응답은 다음과 같은 json 데이터를 담고있는 배열입니다.

[
    {
        "id": 3,
        "user_id": "test",
        "post_title": "테스트 게시글",
        "post_content": "테스트입니다.",
        "created_at": "2022-08-21T13:14:11.000Z"
    },
]

- 게시글 수정

Request

PUT /article

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
post_title 문자열 게시글 제목 필수
post_content 문자열 수정할 게시글 내용 필수

Response

응답은 다음과 같습니다.

요청 받은 유저의 아이디와 게시글 제목에 해당하는 게시글의 내용을 받은 post_content로 수정하고 데이터베이스에 저장합니다.

- 게시글 삭제

Request

DELETE /article

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
post_title 문자열 게시글 제목 필수

Response

응답은 다음과 같습니다.

요청 받은 유저의 아이디와 게시글 제목에 해당하는 게시글을 데이터베이스에서 삭제합니다.

- 유저 정보 가져오기

Request

GET /userinfo

Response

응답은 다음과 같습니다.

  1. session에 user_id 값이 없을 경우 400 상태코드와 "not authorized"메세지로 응답합니다.
  2. session에 user_id 값이 있을 경우 해당 user_id의 정보를 가져옵니다.
{
    "data": [
        {
            "user_id": "codestates",
            "user_password": "1234",
            "user_address": "0x4a648c79Fad1FCa52CC66C37811c805a546284a0",
            "user_privateKey": "사용자 지갑의 private key",
            "user_eth": "2.99675424",
            "user_token": "11",
            "created_at": "2022-08-27T21:41:34.000Z"
        }
    ],
    "message": "ok"
}

- ETH Faucet 받기

Request

POST /faucet

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수

Response

응답은 다음과 같습니다.

서버 계정에서 사용자 지갑으로 1eth를 보내고, "eth Faucet Success!" 메세지로 응답합니다.

- 토큰 전송하기

Request

POST /transfer

Body

Parameter Type Description Necessary
user_id 문자열 유저의 아이디 필수
toAddress 문자열 토큰 전송할 지갑 주소 필수
tokenAmount 문자열 전송할 토큰 양 필수

Response

응답은 다음과 같습니다.

토큰 전송을 완료한 후 201 상태코드와 "success!"메세지로 응답합니다.