Skip to content

API ๋ช…์„ธ

SIEUN KIM edited this page Feb 21, 2024 · 9 revisions

Webtoon APIs

GET - /api/webtoon

  • ์›นํˆฐ ํƒญ์˜ ๋ฉ”์ธํŽ˜์ด์ง€
  • ์›นํˆฐ ์ธ๊ธฐ์ˆœ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๋ฉ”์ธํŽ˜์ด์ง€์— ๋‹ด๊ธธ(ํ•œ ํŽ˜์ด์ง€์˜)๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜

GET - /api/webtoon/{webtoon-id}

  • ์›นํˆฐ์˜ ์ƒ์„ธ ์กฐํšŒ
  • ๊ด€๋ จ ๋ฆฌ๋ทฐ, ๊ด€๋ จ ์„œ์žฌ ํฌํ•จ
  • path variables
    • webtoon-id : ์ƒ์„ธ ์กฐํšŒํ•  ์›นํˆฐ์˜ ์•„์ด๋””
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฆฌ๋ทฐ ๋˜๋Š” ์„œ์žฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฆฌ๋ทฐ ๋˜๋Š” ์„œ์žฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/webtoon/all

  • ์›นํˆฐ ๋ฆฌ์ŠคํŠธ ๋ชจ๋‘ ๋ณด๊ธฐ
  • ์›นํˆฐ ์ œ๋ชฉ์ˆœ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/webtoon/all/{genre}

  • ์›นํˆฐ ์žฅ๋ฅด๋ณ„ ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ
  • ์›นํˆฐ ์ œ๋ชฉ์ˆœ
  • path variables
    • genre : ์กฐํšŒํ•  ์žฅ๋ฅด๋ช… ํ…์ŠคํŠธ๋กœ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/webtoon/tag-search/{tag-id}

  • ์›นํˆฐ ํƒœ๊ทธ๋ณ„ ๋ณด๊ธฐ
  • ์›นํˆฐ ์ œ๋ชฉ์ˆœ
  • path variables
    • tag-id : ์กฐํšŒํ•  ํƒœ๊ทธ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/webtoon/{webtoon-id}/like

  • ์›นํˆฐ์— ์ข‹์•„์š”๊ฐ€ ๋ˆŒ๋ ธ๋Š”์ง€ ํ™•์ธ
  • path variables
    • webtoon-id : ์ข‹์•„์š”๊ฐ€ ๋ˆŒ๋ฆฐ ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

POST - /api/webtoon/{webtoon-id}/like

  • ์›นํˆฐ์— ์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
  • path variables
    • webtoon-id : ์ข‹์•„์š”๊ฐ€ ๋ˆŒ๋ฆฐ ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

DELETE - /api/webtoon/{webtoon-id}/like

  • ์›นํˆฐ์— ์ข‹์•„์š” ์ทจ์†Œ
  • path variables
    • webtoon-id : ์ข‹์•„์š”๋ฅผ ์ทจ์†Œํ•  ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’



Review APIs

GET - /api/reivew/{webtoon-id}

  • ํŠน์ •์›นํˆฐ์— ๋‹ฌ๋ฆฐ ๋ฆฌ๋ทฐ ์ „์ฒด ์กฐํšŒ
  • path variables
    • webtoon-id : ์กฐํšŒํ•  ๋ฆฌ๋ทฐ๋“ค์ด ๋‹ฌ๋ฆฐ ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
      • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

POST - /api/review/{webtoon-id}

  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ
  • path variables
    • webtoon-id : ๋ฆฌ๋ทฐ๊ฐ€ ์ž‘์„ฑ๋œ ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
  • request body
    • title : ๋ฆฌ๋ทฐ ์ œ๋ชฉ
    • content : ๋ฆฌ๋ทฐ ๋‚ด์šฉ
    • drawingScore : ์ž‘ํ™” ํ‰์ 
    • storyScore : ์Šคํ† ๋ฆฌ ํ‰์ 
    • directingScore : ์—ฐ์ถœ ํ‰์ 

DELETE - /api/review/{review-id}

  • ๋ฆฌ๋ทฐ ์‚ญ์ œ
  • path variable
    • review-id : ์‚ญ์ œํ•  ๋ฆฌ๋ทฐ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

PATCH - /api/review/{review-id}

  • ๋ฆฌ๋ทฐ ์ˆ˜์ •
  • path variable
    • review-id : ์ˆ˜์ •ํ•  ๋ฆฌ๋ทฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
  • request body
    • title : ๋ฆฌ๋ทฐ ์ œ๋ชฉ
    • content : ๋ฆฌ๋ทฐ ๋‚ด์šฉ
    • drawingScore : ์ž‘ํ™” ํ‰์ 
    • storyScore : ์Šคํ† ๋ฆฌ ํ‰์ 
    • directingScore : ์—ฐ์ถœ ํ‰์ 

GET - /api/review/my

  • ์ž์‹ ์ด ๋‚จ๊ธด ๋ฆฌ๋ทฐ ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜



Library APIs

GET - /api/library/hot

  • ์ธ๊ธฐ ์„œ์žฌ ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/library

  • ์ž์‹ ์˜ ์„œ์žฌ ๋ชฉ๋ก์„ ์กฐํšŒ

POST - /api/library

  • ์ž์‹ ์˜ ์„œ์žฌ ์ถ”๊ฐ€
  • ํ•œ ์œ ์ €๋‹น ์„œ์žฌ 20๊ฐœ๊นŒ์ง€ ์ƒ์„ฑ
  • request body
    • name : ์„œ์žฌ์˜ ์ œ๋ชฉ

GET - /api/library/{library-id}

  • ์„œ์žฌ ์ƒ์„ธ ์กฐํšŒ
  • ์„œ์žฌ์— ํฌํ•จ๋œ ์›นํˆฐ ์กฐํšŒ
  • path variables
    • library-id : ์กฐํšŒํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

POST - /api/library/{library-id}

  • ์„œ์žฌ์— ์›นํˆฐ ์ถ”๊ฐ€
  • path variables
    • library-id : ์›นํˆฐ์ด ์ถ”๊ฐ€๋  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
  • request body
    • webtoonId : ์„œ์žฌ์— ์ถ”๊ฐ€ํ•  ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

DELETE - /api/library/{library-id}/{webtoon-id}

  • ์„œ์žฌ์— ์›นํˆฐ ์‚ญ์ œ
  • path variables
    • library-id : ์›นํˆฐ์„ ์‚ญ์ œํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’
    • webtoon-id : ์„œ์žฌ์—์„œ ์‚ญ์ œํ•  ์›นํˆฐ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

DELETE - api/library/{library-id}

  • ์„œ์žฌ ์‚ญ์ œ
  • path variables
    • library-id : ์‚ญ์ œํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

PATCH - /api/library/{library-id}

  • ์„œ์žฌ ์ด๋ฆ„ ์ˆ˜์ •
  • path variables
    • library-id : ์ˆ˜์ •ํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

GET - /api/library/subscription

  • ๊ตฌ๋… ์ค‘์ธ ์„œ์žฌ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

POST - /api/library/subscription

  • ์„œ์žฌ ๊ตฌ๋…
  • request body
    • libraryId : ๊ตฌ๋…ํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’

DELETE - /api/library/subscription

  • ์„œ์žฌ ๊ตฌ๋… ์ทจ์†Œ
  • request body
    • libraryId : ๊ตฌ๋… ์ทจ์†Œํ•  ์„œ์žฌ์˜ ์•„์ด๋””(์‹๋ณ„์ž) ๊ฐ’



Chatting APIs

WS - /api/chat/{webtoon-id}

  • ์ฑ„ํŒ…
  • path variables
    • webtoon-id : ์ฑ„ํŒ…๋ฐฉ์ด ์œ„์น˜ํ•œ ์›นํˆฐ์˜ ์•„์ด๋””

GET - /api/history/{webtoon-id}

  • ์ฑ„ํŒ… ๊ธฐ๋ก ์กฐํšŒ
  • path variables
    • webtoon-id : ์ฑ„ํŒ… ๋ฐฉ์ด ์œ„์น˜ํ•œ ์›นํˆฐ์˜ ์•„์ด๋””
  • parameters
    • start : ๊ฐ€์ ธ์˜ฌ ๊ธฐ๋ก ๋ฐ์ดํ„ฐ์˜ ์‹œ์ž‘ ์ผ์‹œ
    • end : ๊ฐ€์ ธ์˜ฌ ๊ธฐ๋ก ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฃŒ ์ผ์‹œ



Recommend API

GET - /api/recommend

  • ์ถ”์ฒœ ์กฐํšŒ
  • ์‚ฌ์šฉ์ž์˜ ๋ฆฌ๋ทฐ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์›นํˆฐ์„ ์ถ”์ฒœํ•œ๋‹ค.



Article APIs

GET - /api/board

  • ๊ฒŒ์‹œ๊ธ€ ์ „์ฒด ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET - /api/board/{id}

  • ๊ฒŒ์‹œ๊ธ€ ๋‹จ์ผ ์กฐํšŒ
  • parameters
    • id : ๊ฒŒ์‹œ๊ธ€ ์•„์ด๋””(์‹๋ณ„์ž)

POST - /api/board

  • ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ
  • Request Body
{
  "title": "string",
  "content": "string",
  "articleTagList": [
    {
      "tag": "string"
    }
  ]
}

PATCH - /api/board

  • ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •
  • Request Body
{
  "title": "string",
  "content": "string",
  "id": 0
}

DELETE - /api/board/{id}

  • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ
  • parameters
    • id: ๊ฒŒ์‹œ๊ธ€ id(์‹๋ณ„์ž)

GET- /api/board/search

  • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ
  • parameters
    • keyword: ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ

GET- /api/board/my

  • ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET- /api/board/count

  • ๊ฒŒ์‹œ๊ธ€ ์ „์ฒด ๊ฐœ์ˆ˜ ์กฐํšŒ

Comment APIs

GET- /api/board/{articleId}/comment

  • ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์— ๋‹ฌ๋ฆฐ ๋ชจ๋“  ๋Œ“๊ธ€์„ ์กฐํšŒ
  • parameters
    • articleId : ๊ฒŒ์‹œ๊ธ€ ์•„์ด๋””(์‹๋ณ„์ž)

POST- /api/board/{articleId}/comment

  • ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€์„ ์ž‘์„ฑ
  • parameters
    • articleId : ๊ฒŒ์‹œ๊ธ€ ์•„์ด๋””(์‹๋ณ„์ž)
  • Request Body
{
  "content": "string",
  "group": 0, 
  "article": {
    "id": articleId
  }
}

๋Œ“๊ธ€์€ id๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋Œ€๋Œ“๊ธ€์€ group ๊ฐ’์œผ๋กœ ๋Œ“๊ธ€์˜ id๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ถ€๋ชจ๋Œ“๊ธ€์˜ group ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

GET- /api/board/comment/my

  • ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋Œ“๊ธ€๋“ค์„ ์กฐํšŒ
  • parameters
    • pno : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ
    • count : ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜

GET- /api/board/{articleId}/comment/{commentId}

  • ๋Œ“๊ธ€์„ ์‚ญ์ œ
  • parameters
    • commentId: ๋Œ“๊ธ€ ์•„์ด๋””(์‹๋ณ„์ž)

Search APIs

GET- /api/search/webtoon

  • ์›นํˆฐ ๊ฒ€์ƒ‰
  • parameters
    • keyword: ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ

GET- /api/search/webtoon/title

  • ์›นํˆฐ ๊ฒ€์ƒ‰
  • parameters
    • keyword: ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ

User APIs

POST- /api/user/login

  • ๋กœ๊ทธ์ธ
  • Request Body
{
    "username":"string",
    "password":"string",
}

POST- /api/user/signup

  • ํšŒ์›๊ฐ€์ž…
  • Request Body
{
    "username":"string",
    "password":"string",
    "nickname":"string",
}
Clone this wiki locally