Skip to content

API Documents

YUBEEN PARK / TRISHA edited this page Jul 20, 2021 · 4 revisions

Gitbook Link

๐Ÿ“š explore ํŽ˜์ด์ง€ ์กฐํšŒ

  • ๋น„ํšŒ์› ์œ ์ €๊ฐ€ ์ „์ฒด ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ
  • explore ํŽ˜์ด์ง€ ํ™ˆํ™”๋ฉด์—์„œ ์กฐํšŒ๋  ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
  • URL: /expore
  • METHOD: GET
  • Response
200 { users, "message": "welcome to explore" }
501 { "message": "failed"}

๐Ÿ”’ ๋กœ๊ทธ์ธ

  1. ์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐœ๊ธ‰ /auth/tmp
  • METHOD: POST
  • Request
{
  email //user's email
}
  • Response
200 { "message": "login failed" }
401 { "message" : "incorrect information" }
501 { "message" : "failed" }
  1. ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™” /auth/pwd
  • METHOD: POST
  • Request
{
  tempPwd //temporary password
  pwd //reset password
}
  • Response
200 { "message" : "ok" }
422 { "message" : "incorrect information"}
500 { "message" : "failed" }
  1. ๋กœ๊ทธ์ธ
  • URL: /login
  • METHOD: POST
  • Request
{
  email //user's email
  pwd //user's password
}

๐Ÿ”“ ๋กœ๊ทธ์•„์›ƒ

  • URL: /logout
  • METHOD: GET
  • Response
200 { "message" : "ok" }
401 { "message" : "not our user" }
501 { "message" : "failed" }

๐Ÿ” ํšŒ์›๊ฐ€์ž…

  • URL: /signup
  • METHOD: POST (1) ์œ ์ €๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์‚ฌ /auth/username
  • Response
200 { "message" : "valid username" }
422 { "message" : "incorrect information" }
409 { "message" : "already exists" }
501 { "message" : "failed" }

(2) ์ด๋ฉ”์ผ ์ค‘๋ณต ๊ฒ€์‚ฌ /auth/email

  • Response
200 { "message" : "valid email" }
422 { "message" : "incorrect information" }
409 { "message" : "already exists" }
501 { "message" : "failed" }

access token ์žฌ๋ฐœ๊ธ‰

  • URL: /auth/token
  • METHOD: GET
  • Response
200 { "message": "login successfully" }
401 { "message" : "invalid refresh token" }

๐Ÿ‘คํ”„๋กœํ•„

ํ”„๋กœํ•„ ์กฐํšŒ

  • URL: /profile
  • METHOD: GET
  • Response
200 { "user" : user, "bookmark" : bookmark, "message" : "get profile successfully" }
401 { "message" : "invalid access token" }
500 { "message" : "failed" }

ํ”„๋กœํ•„ ์‚ญ์ œ

  • URL: /profile
  • METHOD: DELETE
  • Response
205 { "message" : "deleted account successfully" }
401 { "message" : "invalid access token" }
501 { "message" : "failed" }

ํ”„๋กœํ•„ ์ˆ˜์ •

  • URL: /profile/username
  • Request
  • Content-Type: application/json
{  username: //changing username
}
  • URL: /profile/pwd
  • Request
  • Content-Type: application/json
{  pwd: //current password
   newPwd: //new password
}
  • URL: /profile/gitRepo
  • Request
  • Content-Type: application/json
{  
   gitRepo: //changing gitRepo
}
  • URL: /profile/company
  • Request
  • Content-Type: application/json
{  
  company: //changing company
}

Response

200 { "message" : "edited profile successfully" }
401 { "message" : "invalid access token" }
422 { "message" : "incorrect information" }

๐Ÿก ์ฝœ๋ ‰ํŠธ ํŽ˜์ด์ง€ ์กฐํšŒ

  • ์ „์ฒด ์กฐํšŒ
  • ์ฝœ๋ ‰ํŠธ ํŽ˜์ด์ง€ ํ™ˆํ™”๋ฉด์—์„œ ์กฐํšŒ๋  ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
  • URL: /collect
  • METHOD: GET
  • Content-Type: application/json
  • Response
{
   bookmarks: [],
   category: ["db", "API"],
   reducedbookmarks: [{
      id: 13,
      title: "Network",
      bookmarks: [{
         id: 1,
         categoryId: 13
         text: "what is the difference between http and https",
         url:"https://www.google.com"
         importance: 0
         color:#f24626
         visitCounts:0
         position: 1, // ์นด๋“œ ์œ„์น˜ ์ˆœ์„œ
      }, {
         id: 2,
         categoryId: 13
         text: "response codes",
         url:"https://app.gitbook.com/@recollect/s/recollect-final/#reset-password"
         importance: 1
         color:#f24626
         visitCounts:0
         position: 2, 
      }]
   }, {
      id: 24,
      title: "NGINX",
      bookmarks: [{
         id: 3, 
         categoryId: 24
         text: "nginx documents",
         url:"http://nginx.org/en/docs/varindex.html"
         importance: 1
         color:#f24626
         visitCounts:0
         position: 3, 
      }, {
         id: 4,
         categoryId: 24
         text: "nginx reverse proxy",
         url:https://blog.webf.zone/ultimate-guide-to-http-cookies-2aa3e083dbae"
         importance: 1
         color:#f24626
         visitCounts:0
         position: 4, 
      }]
   }],
 "message" : "welcome to collect", 
}
401 { "message" : "invalid access token" }
500 { "message" : "failed" }

๐Ÿ—‚ ์นดํ…Œ๊ณ ๋ฆฌ

์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •

  • URL: /category
  • METHOD: PUT
  • Content-Type: application/json
  • Resonse
200 { "message" : "edited successfully" }
401 { "message" : "invalid access token" }
501 { "message" : "failed" }

์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œ

  • URL: /category/:id
  • METHOD: DELETE
  • Response
200 { "message" : "deleted successfully" }
401 { "message" : "invalid access token" }
501 { "message" : "failed" }

๐Ÿท ๋ถ๋งˆํฌ

๋ถ๋งˆํฌ ์ถ”๊ฐ€

  • URL: /bookmark
  • METHOD: POST
  • Content-Type: application/json
  • Request
{
    category: NGINX,
    text: "nginx reverse proxy",
    url:https://blog.webf.zone/ultimate-guide-to-http-cookies-2aa3e083dbae"
    importance: 1
    color:#f24626
}
  • Response
201 { "message" : "created successfully" }
401 { "message" : "invalid access token" }
501 { "message" : "failed" }

๋ถ๋งˆํฌ visitCount ์ถ”๊ฐ€

  • URL: /bookmarks/:id
  • METHOD: PATCH

๋ถ๋งˆํฌ ์ˆ˜์ •

  • URL: /bookmarks/:id
  • METHOD: PUT
  • Request
  • Content-Type: application/json
{
    category: "NGINX,
    text: "nginx reverse proxy",
    url:https://blog.webf.zone/ultimate-guide-to-http-cookies-2aa3e083dbae",
    importance: 1,
    color:#f24626
}
  • Response
200 { "message" : "edited successfully" }
401 { "message" : "invalid access token" }
422 { "message" : "incorrect information" }
501 { "message" : "failed" }

๋ถ๋งˆํฌ ํฌ์ง€์…˜ ํ•œ๊ฐœ ์ˆ˜์ •: ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋งจ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™๋˜๋Š” ๊ฒฝ์šฐ

  • position์„ ๊ฐ€์žฅ ํฐ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” API -> ๋”ฐ๋ผ์„œ ์กฐํšŒ์‹œ ์ตœํ•˜๋‹จ์— ์ถœ๋ ฅ๋˜๊ฒŒ ๋œ๋‹ค.
  • URL: /bookmarks/:id/position
  • METHOD: PATCH
  • Request
  • Content-Type: application/json
{ categoryId: 1 }
  • Response
200 { "message" : "ok" }
401 { "message" : "invalid access token" }
422 { "message" : "incorrect information" }
501 { "message" : "failed" }

๋ถ๋งˆํฌ ํฌ์ง€์…˜ ์ „์ฒด ์ˆ˜์ •

  • dragNo์˜ position์„ dropNo์˜ position์œผ๋กœ ๋ฐ”๊ฟ”์ค€ ๋’ค, ํ•˜์œ„ ์นด๋“œ๋“ค์˜ ๋ชจ๋“  position์„ 1์”ฉ ๋”ํ•˜๋Š” API
  • URL: /bookmarks/:dragId/:dropId/position
  • METHOD: PATCH
  • Request
  • Content-Type: application/json
{ categoryId: 1 }
  • Response
200 { "message" : "ok" }
401 { "message" : "invalid access token" }
422 { "message" : "incorrect information" }
501 { "message" : "failed" }

๋ถ๋งˆํฌ ์‚ญ์ œ

  • URL: /bookmakrs/:id
  • METHOD: DELETE
  • Response
200 { "message" : "deleted successfully" }
401 { "message" : "invalid access token" }
422 { "message" : "incorrect information" }
501 { "message" : "failed" }

Clone this wiki locally