Skip to content
yjjjwww edited this page Oct 4, 2022 · 29 revisions

<API ๋ช…์„ธ์„œ>

1. ๋กœ๊ทธ์ธ

Request

POST /user/login

Body

Parameter Type Description Necessary
user_address ๋ฌธ์ž์—ด ์œ ์ €์˜ ์ง€๊ฐ‘ ์ฃผ์†Œ ํ•„์ˆ˜
user_network ๋ฌธ์ž์—ด ์œ ์ €์˜ ๋„คํŠธ์›Œํฌ ์ •๋ณด ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ƒˆ๋กœ์šด ์ง€๊ฐ‘ ์ฃผ์†Œ, ๋„คํŠธ์›Œํฌ ์ •๋ณด๋กœ ์—ฐ๊ฒฐํ–ˆ์„ ๊ฒฝ์šฐ
{
    "data": [
        {
            "user_id": 6,
            "user_address": "0xe8cf73e4e60c7fbc60a7d5931009abbae21b8465",
            "user_nickname": "Sam Yoon",
            "user_introduction": "I'm Sam Yoon!"
        }
    ],
    "message": "๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค."
}
  1. ๋“ฑ๋ก๋œ ์ง€๊ฐ‘ ์ฃผ์†Œ, ๋„คํŠธ์›Œํฌ ์ •๋ณด๋กœ ์—ฐ๊ฒฐํ–ˆ์„ ๊ฒฝ์šฐ
{
    "data": [
        {
            "user_id": 6,
            "user_address": "0xe8cf73e4e60c7fbc60a7d5931009abbae21b8465",
            "user_nickname": "Sam Yoon",
            "user_introduction": "I'm Sam Yoon!"
        }
    ],
    "message": "๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค."
}

2. ๋กœ๊ทธ์•„์›ƒ

Request

POST /logout

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. session์— ์ €์žฅ๋œ ์ •๋ณด๊ฐ€ ์—†์„ ๋•Œ ์ƒํƒœ์ฝ”๋“œ 400๊ณผ "not authorized" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. session์— ์ €์žฅ๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ๋•Œ ์ƒํƒœ์ฝ”๋“œ 200๊ณผ "๋กœ๊ทธ์•„์›ƒ" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

3. ํ”„๋กœํ•„ ์ˆ˜์ •ํ•˜๊ธฐ

Request

PUT /profile

Body

Parameter Type Description Necessary
user_address ๋ฌธ์ž์—ด ์œ ์ €์˜ ์ง€๊ฐ‘ ์ฃผ์†Œ ํ•„์ˆ˜
user_nickname ๋ฌธ์ž์—ด ์œ ์ €์˜ ๋‹‰๋„ค์ž„ ํ•„์ˆ˜
user_introduction ๋ฌธ์ž์—ด ์œ ์ €์˜ ์ž๊ธฐ์†Œ๊ฐœ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

{
    "user_nickname": "dao",
    "user_introduction": "hello vote"
}

4. ์œ ์ € ์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

GET /user/userinfo

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜

ex) /user/userinfo?user_id=6

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "user_id": 6,
        "user_address": "0xe8cf73e4e60c7fbc60a7d5931009abbae21b8465",
        "user_nickname": "Sam Yoon",
        "user_introduction": "I'm Sam Yoon!"
    }
]

5. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ์˜ฌ๋ฆฌ๊ธฐ

Request

POST /article

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
article_content ๋ฌธ์ž์—ด ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ธ€ ๋“ฑ๋ก์— ์„ฑ๊ณตํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "post article success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ธ€ ๋“ฑ๋ก์— ์‹คํŒจํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 500๊ณผ "Server Error" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

6. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

  1. ์ตœ์‹  ์ˆœ GET /article/recent

  2. ์ถ”์ฒœ ์ˆœ GET /article/like

Response

  1. ์ตœ์‹  ์ˆœ ์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (created_at ์ตœ์‹  ์ˆœ ์ •๋ ฌ)
[
    {
        "article_id": 155,
        "user_id": 5,
        "article_content": "ใ„ดใ…‡ใ…ใ…‡",
        "comment_count": 1,
        "like_count": 0,
        "created_at": "2022-09-30T16:53:47.226Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 118,
        "user_id": 6,
        "article_content": "์˜จ๋ผ์ธ์œผ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋”” ๊ฐ™์ด ํ•˜์‹ค ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”?",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-28T18:42:49.154Z",
        "user": {
            "user_nickname": "Sam Yoon"
        }
    },
    {
        "article_id": 113,
        "user_id": 8,
        "article_content": "ํ”Œ๋Ÿฌํ„ฐ์— ๊ด€์‹ฌ์ด ๋งŽ์ด ์ƒ๊ฒผ๋Š”๋ฐ, ํ”Œ๋Ÿฌํ„ฐ ๊ฐ•์˜๋„ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”. ํ˜น์‹œ ๊ฐ•์˜ ๊ณ„ํš ์žˆ์œผ์‹  ๋ถ„ ์žˆ๋‚˜์š”? ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”! ๊ฐ•์˜ ๋‚˜์˜ค๋ฉด ์ œ๊ฐ€ ์ˆ˜๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-27T14:21:39.015Z",
        "user": {
            "user_nickname": "์›”ํ„ฐ"
        }
    },
    {
        "article_id": 112,
        "user_id": 5,
        "article_content": "10์›” ๋ถ€ํ„ฐ 8์ฃผ ๋™์•ˆ 'ํด๋ฆฐ์ฝ”๋“œ' ์ฑ… ๊ฐ™์ด ์ฝ์–ด๋ด์š” ๐Ÿ“– ์‚ฌ๋†“๊ณ  ์ฝ์ง€ ์•Š์•„์„œ ์ฑ…์žฅ์—๋งŒ ์žˆ๋˜ ํด๋ฆฐ์ฝ”๋“œ ์ฑ…..\n8์ฃผ๋™์•ˆ ๊ฐ™์ด ์ฝ์–ด๋ด์š”!",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-27T13:01:01.769Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 111,
        "user_id": 5,
        "article_content": "์•ˆ๋…•ํ•˜์„ธ์š” :)\n๊ฐ•๋‚จ์—ญ ๊ทผ์ฒ˜์—์„œ ํ•จ๊ป˜ ์Šคํ„ฐ๋””(๋ชจ๊ฐ์ฝ”)ํ•  ์Šคํ„ฐ๋””์›์„ ์ถ”๊ฐ€ ๋ชจ์ง‘ํ•ฉ๋‹ˆ๋‹ค.\nํ˜„์žฌ 6์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•˜์˜€๊ณ  ํ•จ๊ป˜ ํ–ˆ๋˜ ์Šคํ„ฐ๋””์›์ด ์ด์ง์— ์„ฑ๊ณตํ•˜์‹œ๋ฉด์„œ ๊ณต์„์ด ์ƒ๊ฒจ ์ถ”๊ฐ€ ๋ชจ์ง‘์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์—ฌ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š”!\nabc@havruta.guru",
        "comment_count": 1,
        "like_count": 2,
        "created_at": "2022-09-27T13:00:39.919Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 110,
        "user_id": 5,
        "article_content": "๋ฌด๋ฃŒ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ฑ„๊ณ ์—์š”!! ์ดํ•ด ์™์™ ๐Ÿ‘๐Ÿ‘๐Ÿ‘",
        "comment_count": 1,
        "like_count": 1,
        "created_at": "2022-09-27T12:59:12.034Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 109,
        "user_id": 5,
        "article_content": "๋„ˆ๋ฌด ์ข‹์€๊ฐ•์˜ ์ž…๋‹ˆ๋‹ค. ์˜›๋‚ ์— ์ž ์‹œ ๋ฐฐ์šด ์›น๊ณต๋ถ€์ธ๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋„ udf๊ฐ€ ์ ์  ๋„์ž…๋˜๊ณ ์žˆ์–ด์„œ ๋‹ค์‹œ ๋“ค์œผ๋Ÿฌ ์™”๋„ค์š” ๋„ˆ๋ฌด ๋ช…๊ฐ•์˜๋ผ ์ฐธ๊ณ ํ•˜๊ธฐ ๋„ˆ๋ฌด ์ข‹์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค",
        "comment_count": 0,
        "like_count": 1,
        "created_at": "2022-09-27T12:58:40.142Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    }
]
  1. ์ถ”์ฒœ ์ˆœ ์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (like_count ๋†’์€ ์ˆœ ์ •๋ ฌ)
[
    {
        "article_id": 118,
        "user_id": 6,
        "article_content": "์˜จ๋ผ์ธ์œผ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋”” ๊ฐ™์ด ํ•˜์‹ค ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”?",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-28T18:42:49.154Z",
        "user": {
            "user_nickname": "Sam Yoon"
        }
    },
    {
        "article_id": 113,
        "user_id": 8,
        "article_content": "ํ”Œ๋Ÿฌํ„ฐ์— ๊ด€์‹ฌ์ด ๋งŽ์ด ์ƒ๊ฒผ๋Š”๋ฐ, ํ”Œ๋Ÿฌํ„ฐ ๊ฐ•์˜๋„ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”. ํ˜น์‹œ ๊ฐ•์˜ ๊ณ„ํš ์žˆ์œผ์‹  ๋ถ„ ์žˆ๋‚˜์š”? ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”! ๊ฐ•์˜ ๋‚˜์˜ค๋ฉด ์ œ๊ฐ€ ์ˆ˜๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-27T14:21:39.015Z",
        "user": {
            "user_nickname": "์›”ํ„ฐ"
        }
    },
    {
        "article_id": 112,
        "user_id": 5,
        "article_content": "10์›” ๋ถ€ํ„ฐ 8์ฃผ ๋™์•ˆ 'ํด๋ฆฐ์ฝ”๋“œ' ์ฑ… ๊ฐ™์ด ์ฝ์–ด๋ด์š” ๐Ÿ“– ์‚ฌ๋†“๊ณ  ์ฝ์ง€ ์•Š์•„์„œ ์ฑ…์žฅ์—๋งŒ ์žˆ๋˜ ํด๋ฆฐ์ฝ”๋“œ ์ฑ…..\n8์ฃผ๋™์•ˆ ๊ฐ™์ด ์ฝ์–ด๋ด์š”!",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-27T13:01:01.769Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 111,
        "user_id": 5,
        "article_content": "์•ˆ๋…•ํ•˜์„ธ์š” :)\n๊ฐ•๋‚จ์—ญ ๊ทผ์ฒ˜์—์„œ ํ•จ๊ป˜ ์Šคํ„ฐ๋””(๋ชจ๊ฐ์ฝ”)ํ•  ์Šคํ„ฐ๋””์›์„ ์ถ”๊ฐ€ ๋ชจ์ง‘ํ•ฉ๋‹ˆ๋‹ค.\nํ˜„์žฌ 6์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•˜์˜€๊ณ  ํ•จ๊ป˜ ํ–ˆ๋˜ ์Šคํ„ฐ๋””์›์ด ์ด์ง์— ์„ฑ๊ณตํ•˜์‹œ๋ฉด์„œ ๊ณต์„์ด ์ƒ๊ฒจ ์ถ”๊ฐ€ ๋ชจ์ง‘์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์—ฌ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š”!\nabc@havruta.guru",
        "comment_count": 1,
        "like_count": 2,
        "created_at": "2022-09-27T13:00:39.919Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 110,
        "user_id": 5,
        "article_content": "๋ฌด๋ฃŒ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ฑ„๊ณ ์—์š”!! ์ดํ•ด ์™์™ ๐Ÿ‘๐Ÿ‘๐Ÿ‘",
        "comment_count": 1,
        "like_count": 1,
        "created_at": "2022-09-27T12:59:12.034Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 109,
        "user_id": 5,
        "article_content": "๋„ˆ๋ฌด ์ข‹์€๊ฐ•์˜ ์ž…๋‹ˆ๋‹ค. ์˜›๋‚ ์— ์ž ์‹œ ๋ฐฐ์šด ์›น๊ณต๋ถ€์ธ๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋„ udf๊ฐ€ ์ ์  ๋„์ž…๋˜๊ณ ์žˆ์–ด์„œ ๋‹ค์‹œ ๋“ค์œผ๋Ÿฌ ์™”๋„ค์š” ๋„ˆ๋ฌด ๋ช…๊ฐ•์˜๋ผ ์ฐธ๊ณ ํ•˜๊ธฐ ๋„ˆ๋ฌด ์ข‹์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค",
        "comment_count": 0,
        "like_count": 1,
        "created_at": "2022-09-27T12:58:40.142Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    },
    {
        "article_id": 155,
        "user_id": 5,
        "article_content": "ใ„ดใ…‡ใ…ใ…‡",
        "comment_count": 1,
        "like_count": 0,
        "created_at": "2022-09-30T16:53:47.226Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    }
]

7. ๊ฐœ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

GET /article/select

Parameter

Parameter Type Description Necessary
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜

ex) /article/select?article_id=1

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "article_id": 155,
        "user_id": 5,
        "article_content": "ใ„ดใ…‡ใ…ใ…‡",
        "comment_count": 1,
        "like_count": 0,
        "created_at": "2022-09-30T16:53:47.226Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        },
        "comments": [
            {
                "id": 113,
                "comment_content": "ใ„ดใ…ใ…‡ใ„ดใ…",
                "created_at": "2022-09-30T16:53:50.847Z",
                "user": {
                    "user_id": 5,
                    "user_nickname": "์ฝ”๋ฆฐ์ด"
                }
            }
        ]
    }
]

8. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ์ˆ˜์ •ํ•˜๊ธฐ

Request

PUT /article

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜
article_content ๋ฌธ์ž์—ด ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "edit article success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 403๊ณผ "you're not the author" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

9. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ์‚ญ์ œํ•˜๊ธฐ

Request

DELETE /article

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "delete article success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 403๊ณผ "you're not the author" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

10. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ๋Œ“๊ธ€ ๋‹ฌ๊ธฐ

Request

POST /comment

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜
comment_content ๋ฌธ์ž์—ด ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋Œ“๊ธ€ ๋“ฑ๋ก์— ์„ฑ๊ณตํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "post comment success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๋Œ“๊ธ€ ๋“ฑ๋ก์— ์‹คํŒจํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 500๊ณผ "Server Error" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

11. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ๋Œ“๊ธ€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

GET /comment

Parameter

Parameter Type Description Necessary
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜

ex) /comment?article_id=1

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๋Œ“๊ธ€ ์ตœ์‹  ์ˆœ ์ •๋ ฌ)

[
    {
        "id": 113,
        "article_id": 155,
        "user_id": 5,
        "comment_content": "ใ„ดใ…ใ…‡ใ„ดใ…",
        "created_at": "2022-09-30T16:53:50.847Z",
        "user": {
            "user_nickname": "์ฝ”๋ฆฐ์ด"
        }
    }
]

12. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ๋Œ“๊ธ€ ์‚ญ์ œํ•˜๊ธฐ

Request

Delete /comment

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
comment_id ์ˆซ์ž Comment ํ…Œ์ด๋ธ” id ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋Œ“๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "delete comment success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๋Œ“๊ธ€ ์ž‘์„ฑ์ž๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 403๊ณผ "you're not the author" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

13. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธ€ ์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ

Request

POST /like

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
article_id ์ˆซ์ž ๊ฒŒ์‹œ๊ธ€ id ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํ•ด๋‹น ๊ธ€์— ์ถ”์ฒœ์„ ๋ˆ„๋ฅธ ์ ์ด ์—†์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "post like success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ํ•ด๋‹น ๊ธ€์— ์ถ”์ฒœ์„ ๋ˆ„๋ฅธ ์ ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "delete like success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

14. ๊ฐ•์˜ ๋“ฑ๋กํ•˜๊ธฐ

Request

POST /lecture

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
lecture_title ๋ฌธ์ž์—ด ๊ฐ•์˜ ์ œ๋ชฉ ํ•„์ˆ˜
lecture_summary ๋ฌธ์ž์—ด ๊ฐ•์˜ ์š”์•ฝ ํ•„์ˆ˜
lecture_introduction ๋ฌธ์ž์—ด ๊ฐ•์˜ ์†Œ๊ฐœ ํ•„์ˆ˜
insturctor_introduction ๋ฌธ์ž์—ด ๊ฐ•์‚ฌ ์†Œ๊ฐœ ํ•„์ˆ˜
lecture_url ๋ฌธ์ž์—ด ๊ฐ•์˜ ์ฃผ์†Œ ํ•„์ˆ˜
lecture_image ๋ฌธ์ž์—ด ๊ฐ•์˜ ์ด๋ฏธ์ง€ ํ•„์ˆ˜
lecture_price ์ˆซ์ž ๊ฐ•์˜ ๊ฐ€๊ฒฉ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ•์˜ ๋“ฑ๋ก์— ์„ฑ๊ณตํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "post Lecture success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ฐ•์˜ ๋“ฑ๋ก์— ์‹คํŒจํ•˜๋ฉด ์ƒํƒœ์ฝ”๋“œ 500๊ณผ "Server Error" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

15. ๊ฐ•์˜ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

Request

GET /lecture

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "lecture_id": 35,
        "lecture_title": "ํ•˜๋ธŒ๋ฃจํƒ€ DAO ์‹œ์—ฐ ์˜์ƒ",
        "lecture_image": "http://img.youtube.com/vi/JYMnGRqSQsM/maxresdefault.jpg",
        "lecture_price": 0,
        "user": {
            "user_id": 14,
            "user_nickname": "Jaden1"
        }
    },
    {
        "lecture_id": 34,
        "lecture_title": "ํ•˜๋ธŒ๋ฃจํƒ€ DAO ๋ฐœํ‘œ ์˜์ƒ",
        "lecture_image": "http://img.youtube.com/vi/A3ZG5HiVyUU/maxresdefault.jpg",
        "lecture_price": 10,
        "user": {
            "user_id": 14,
            "user_nickname": "Jaden1"
        }
    },
    {
        "lecture_id": 33,
        "lecture_title": "๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ๊ฟˆ๊พธ๋Š” ๋ฏธ๋ž˜ ์‹œ์žฅ ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ์˜ ๋ณ€ํ™”",
        "lecture_image": "http://img.youtube.com/vi/W-ZARauLKc8/maxresdefault.jpg",
        "lecture_price": 0,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 32,
        "lecture_title": "ํ† ์Šคใ…ฃSLASH 21 - ํ”„๋ก ํŠธ์—”๋“œ ์›น ์„œ๋น„์Šค์—์„œ ์šฐ์•„ํ•˜๊ฒŒ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ",
        "lecture_image": "http://img.youtube.com/vi/FvRtoViujGg/maxresdefault.jpg",
        "lecture_price": 10,
        "user": {
            "user_id": 6,
            "user_nickname": "Sam Yoon"
        }
    },
    {
        "lecture_id": 31,
        "lecture_title": "NFT๊ฐ€ ๋ฏธ๋ž˜๋ฅผ ๋ฐ”๊ฟ€ ๋ฐฉ๋ฒ•, DAO์— ์žˆ๋‹ค? ๊ธฐ์—…์˜ ๋ฏธ๋ž˜, DAO ์ด์ •๋ฆฌ!",
        "lecture_image": "http://img.youtube.com/vi/GNIH44WC-ao/maxresdefault.jpg",
        "lecture_price": 15,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 30,
        "lecture_title": "[๋ธ”ํŒŒ์Šค] ํˆฌ์ž DAO | ํ•œ์„œํฌ",
        "lecture_image": "http://img.youtube.com/vi/asPEIhl8_R8/maxresdefault.jpg",
        "lecture_price": 3,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 29,
        "lecture_title": "AI๊ฐ€ ๋‚˜ ๋Œ€์‹  ์ฝ”๋”ฉ์„? ๊นƒํ—™ 'Copilot' ์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค!",
        "lecture_image": "http://img.youtube.com/vi/x_Yw2f161CU/maxresdefault.jpg",
        "lecture_price": 0,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 28,
        "lecture_title": "์ฝ”๋”ฉ์ ‘์–ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค ๋งŒ์›์งœ๋ฆฌ AI๊ฐ€ ๋” ์ฝ”๋”ฉ ์ž˜ํ•จ",
        "lecture_image": "http://img.youtube.com/vi/R-lIeSR8-hE/maxresdefault.jpg",
        "lecture_price": 8,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 27,
        "lecture_title": "์œ„ ์ˆ˜์‹์ด ํ‹€๋ฆฐ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด๋ณด์‹ญ์‡ผ (๊ฐœ๋ฐœ๋ฉด์ ‘ํƒ€์ž„)",
        "lecture_image": "http://img.youtube.com/vi/-GsrYvZoAdA/maxresdefault.jpg",
        "lecture_price": 12,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 26,
        "lecture_title": "ํšจ์œจ์ ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ๋ฒ•",
        "lecture_image": "http://img.youtube.com/vi/gs1qM1TF5zA/maxresdefault.jpg",
        "lecture_price": 10,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    },
    {
        "lecture_id": 25,
        "lecture_title": "React Query์™€ ์ƒํƒœ๊ด€๋ฆฌ :: 2์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜",
        "lecture_image": "http://img.youtube.com/vi/MArE6Hy371c/maxresdefault.jpg",
        "lecture_price": 20,
        "user": {
            "user_id": 6,
            "user_nickname": "Sam Yoon"
        }
    },
    {
        "lecture_id": 24,
        "lecture_title": "ํ† ์Šคใ…ฃSLASH 21 - ์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ์“ฐ๋Š” Frontend Clean Code",
        "lecture_image": "http://img.youtube.com/vi/edWbHp_k_9Y/maxresdefault.jpg",
        "lecture_price": 0,
        "user": {
            "user_id": 1,
            "user_nickname": "Jaden"
        }
    }
]

16. ๊ฐ•์˜ ๋ชฉ๋ก ์ตœ์‹  ์ˆœ์œผ๋กœ ์›ํ•˜๋Š” ๊ฐœ์ˆ˜๋งŒํผ ๊ฐ€์ ธ์˜ค๊ธฐ

Request

GET /lecture/limit

Parameter

Parameter Type Description Necessary
limit ์ˆซ์ž ์›ํ•˜๋Š” ๊ฐ•์˜ ๊ฐœ์ˆ˜ ํ•„์ˆ˜

ex)/lecture/limit?limit=2

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "lecture_id": 35,
        "lecture_title": "ํ•˜๋ธŒ๋ฃจํƒ€ DAO ์‹œ์—ฐ ์˜์ƒ",
        "lecture_image": "http://img.youtube.com/vi/JYMnGRqSQsM/maxresdefault.jpg",
        "lecture_price": 0,
        "user": {
            "user_id": 14,
            "user_nickname": "Jaden1"
        }
    },
    {
        "lecture_id": 34,
        "lecture_title": "ํ•˜๋ธŒ๋ฃจํƒ€ DAO ๋ฐœํ‘œ ์˜์ƒ",
        "lecture_image": "http://img.youtube.com/vi/A3ZG5HiVyUU/maxresdefault.jpg",
        "lecture_price": 10,
        "user": {
            "user_id": 14,
            "user_nickname": "Jaden1"
        }
    }
]

17. ๊ฐ•์˜ ์‚ญ์ œํ•˜๊ธฐ

Request

Delete /lecture

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
lecture_id ์ˆซ์ž Lecture ํ…Œ์ด๋ธ” lecture_id ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ•์˜ ๋“ฑ๋กํ•œ ์‚ฌ๋žŒ์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "delete lecture success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ฐ•์˜ ๋“ฑ๋กํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 403๊ณผ "you're not the author" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

18. ๊ฐ•์˜ ์ƒ์„ธ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ

Request

GET /lecture/detail

Parameter

Parameter Type Description Necessary
lecture_id ์ˆซ์ž ๊ฐ•์˜ ์ œ๋ชฉ ํ•„์ˆ˜

ex) /lecture/detail?lecture_id=1

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "lecture_id": 35,
        "user_id": 14,
        "lecture_title": "ํ•˜๋ธŒ๋ฃจํƒ€ DAO ์‹œ์—ฐ ์˜์ƒ",
        "lecture_summary": "์ฝ”๋“œ์Šคํ…Œ์ด์ธ  BEB 5๊ธฐ  ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ  7ํŒ€ Team Vote ํ•˜๋ธŒ๋ฃจํƒ€ DAO ์‹œ์—ฐ ์˜์ƒ  ์ž๋ง‰์„ ์ผœ๊ณ  ์‹œ์ฒญํ•ด ์ฃผ์„ธ์š”.",
        "lecture_introduction": "์ฝ”๋“œ์Šคํ…Œ์ด์ธ  BEB 5๊ธฐ \nํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ  7ํŒ€ Team Vote ํ•˜๋ธŒ๋ฃจํƒ€ DAO ์‹œ์—ฐ ์˜์ƒ\n\n์ž๋ง‰์„ ์ผœ๊ณ  ์‹œ์ฒญํ•ด ์ฃผ์„ธ์š”.",
        "instructor_introduction": "์ฝ”๋“œ์Šคํ…Œ์ด์ธ  BEB 5๊ธฐ \nํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ  7ํŒ€ Team Vote",
        "lecture_url": "https://youtu.be/JYMnGRqSQsM",
        "lecture_image": "http://img.youtube.com/vi/JYMnGRqSQsM/maxresdefault.jpg",
        "lecture_price": 0
    }
]

19. ์œ ์ € ์ˆ˜๊ฐ• ์‹ ์ฒญํ•˜๊ธฐ

Request

POST /userlecture

Body

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
lecture_id ์ˆซ์ž ๊ฐ•์˜ ์ œ๋ชฉ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ƒํƒœ์ฝ”๋“œ 201๊ณผ "post userlecture success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

20. ์œ ์ €๊ฐ€ ๊ฐ•์˜ ์ˆ˜๊ฐ• ์‹ ์ฒญํ–ˆ๋Š”์ง€ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

GET /userlecture

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜
lecture_id ์ˆซ์ž ๊ฐ•์˜ ์ œ๋ชฉ ํ•„์ˆ˜

ex)/userlecture?user_id=10&lecture_id=2

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ˆ˜๊ฐ• ์‹ ์ฒญํ•œ ๊ธฐ๋ก์ด ์žˆ์„ ๊ฒฝ์šฐ
[
    {
        "id": 3,
        "user_id": 10,
        "lecture_id": 2,
        "created_at": "2022-09-13T10:14:06.559Z",
        "updated_at": "2022-09-13T10:14:06.560Z"
    }
]
  1. ์ˆ˜๊ฐ• ์‹ ์ฒญํ•œ ๊ธฐ๋ก์ด ์—†์„ ๊ฒฝ์šฐ
[]

21. ๋‚ด๊ฐ€ ์“ด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Request

GET: user/userarticle

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜

ex)/user/userarticle?user_id=14

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "article_id": 118,
        "user_id": 6,
        "article_content": "์˜จ๋ผ์ธ์œผ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋”” ๊ฐ™์ด ํ•˜์‹ค ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”?",
        "comment_count": 0,
        "like_count": 3,
        "created_at": "2022-09-28T18:42:49.154Z"
    }
]

22. ๋‚ด๊ฐ€ ์“ด ๋Œ“๊ธ€ ๋ชฉ๋ก ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

GET: user/usercomment

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜

ex)/user/usercomment?user_id=14

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "id": 96,
        "article_id": 110,
        "user_id": 6,
        "comment_content": "์ตœ๊ณ !!๐Ÿ‘",
        "created_at": "2022-09-27T13:05:14.103Z"
    }
]

23. ๋‚ด๊ฐ€ ๋“ฑ๋กํ•œ ๊ฐ•์˜๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

GET: user/userlecture

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜

ex)/user/userlecture?user_id=12

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "lecture_id": 32,
        "lecture_image": "http://img.youtube.com/vi/FvRtoViujGg/maxresdefault.jpg",
        "lecture_title": "ํ† ์Šคใ…ฃSLASH 21 - ํ”„๋ก ํŠธ์—”๋“œ ์›น ์„œ๋น„์Šค์—์„œ ์šฐ์•„ํ•˜๊ฒŒ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ",
        "lecture_price": 10
    },
    {
        "lecture_id": 25,
        "lecture_image": "http://img.youtube.com/vi/MArE6Hy371c/maxresdefault.jpg",
        "lecture_title": "React Query์™€ ์ƒํƒœ๊ด€๋ฆฌ :: 2์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜",
        "lecture_price": 20
    }
]

24. nft ๋ฏผํŒ…

Request

POST /nft

Body

Parameter Type Description Necessary
recipient ๋ฌธ์ž์—ด nft ๋ฐ›์„ ๊ณ„์ • ์ฃผ์†Œ ํ•„์ˆ˜

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํ† ํฐ ์ž”์•ก์ด ์ถฉ๋ถ„ํ•ด์„œ nft ๋ฏผํŒ…์— ์„ฑ๊ณตํ–ˆ์„ ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 201๊ณผ "mint nft success" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  2. ํ† ํฐ ์ž”์•ก์ด ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 403๊ณผ "insufficient token balance" ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

25. ์œ ์ €๊ฐ€ ์ˆ˜๊ฐ•์‹ ์ฒญํ•œ ๊ฐ•์˜ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

Request

GET /user/userclass

Parameter

Parameter Type Description Necessary
user_id ์ˆซ์ž User ํ…Œ์ด๋ธ” user_id ํ•„์ˆ˜

ex) /user/userclass?user_id=9

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[
    {
        "lecture": {
            "lecture_id": 33,
            "lecture_image": "http://img.youtube.com/vi/W-ZARauLKc8/maxresdefault.jpg",
            "lecture_title": "๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ๊ฟˆ๊พธ๋Š” ๋ฏธ๋ž˜ ์‹œ์žฅ ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ์˜ ๋ณ€ํ™”",
            "lecture_price": 0
        }
    },
    {
        "lecture": {
            "lecture_id": 32,
            "lecture_image": "http://img.youtube.com/vi/FvRtoViujGg/maxresdefault.jpg",
            "lecture_title": "ํ† ์Šคใ…ฃSLASH 21 - ํ”„๋ก ํŠธ์—”๋“œ ์›น ์„œ๋น„์Šค์—์„œ ์šฐ์•„ํ•˜๊ฒŒ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ",
            "lecture_price": 10
        }
    }
]

26. ์œ ์ €์˜ nft balance ์กฐํšŒํ•˜๊ธฐ

Request

GET /nft

Parameter

Parameter Type Description Necessary
user_address ๋ฌธ์ž์—ด ์œ ์ €์˜ ์ง€๊ฐ‘ ์ฃผ์†Œ ํ•„์ˆ˜

ex) /nft?user_address=0x...

Response

์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

16
Clone this wiki locally