25.06.23 - se5ri/React GitHub Wiki
ch 09
-
9์ฅ HTTP ํต์ ๊ณผ Ajax
2.3 Open Market API ํ ์คํธ
2.3.1 ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ
- Environments > + ๋ฒํผ(Create new environment)
- "New Environment" ->
Open Market
์ผ๋ก ์์
url ์ถ๊ฐ
- Variable:
url
- Type: default
- initial value:
https://fesp-api.koyeb.app/market
- Save
client-id ์ถ๊ฐ
- Variable:
client-id
- Type: default
- initial value:
openmarket
- Save
2.3.2 Collection ์ถ๊ฐ
- Collections > + ๋ฒํผ(Create new collection) > Blank collection
- "New Collection" ->
Open Market API
๋ก ์์
- "New Collection" ->
2.3.3 API Server ํ๊ฒฝ ๋ณ์ ์ง์
- ์ฐ์ธก ์๋จ์ "No Environment" ๋๋ "Todo List" ํด๋ฆญ ํ
Open Market
์ ํ
2.3.4 Open Market API Collection์ API ์์ฒญ ์ถ๊ฐ(์ํ ๋ชฉ๋ก ์กฐํ)
-
Collections > Open Market API ์ปฌ๋ ์ ์์ ๋ง์ฐ์ค ์ฌ๋ฆฐ ํ
ยทยทยท
ํด๋ฆญํด์ Add request ์ ํ- "New Request" ->
์ํ ๋ชฉ๋ก ์กฐํ
๋ก ์์ - "EEnter URL or describe the request to Postbot" ํญ๋ชฉ์
{{url}}/products
์ ๋ ฅ ํ Send - ์๋ต ๊ฒฐ๊ณผ ํ์ธ
{ "ok": 0, "message": "client-id ํค๋๊ฐ ์์ต๋๋ค." }
- "New Request" ->
-
client-id ํค๋ ์ถ๊ฐ
- Headers ํญ ์ ํ
- Key:
client-id
- Value:
{{client-id}}
- Key:
- Headers ํญ ์ ํ
2.3.5 ์ํ ์์ธ ์กฐํ
-
Collections > Open Market API ์ปฌ๋ ์ ์์ ๋ง์ฐ์ค ์ฌ๋ฆฐ ํ
ยทยทยท
ํด๋ฆญํด์ Add request ์ ํOpen Market API/์ํ ์์ธ ์กฐํ
{{url}}/products/4
- ์๋ต ๊ฒฐ๊ณผ ํ์ธ
{ "ok": 0, "message": "client-id ํค๋๊ฐ ์์ต๋๋ค." }
-
์ปฌ๋ ์ ๋ด์ ๋ชจ๋ ์์ฒญ์ client-id ํค๋ ์ถ๊ฐ
- Collections > Open Market API ์ ํ
- Scripts > Pre-request ์ ํ ํ ์ถ๊ฐ
pm.request.headers.add({ key: "client-id", value: "{{client-id}}" });
- Save
-
์ฌ๊ธฐ์ ์ํ๋ชฉ๋ก์กฐํ๋ ์ํ์์ธ์กฐํ์์ ์๋ ํด๋๋ฅผ ์ง์ฐ๊ณ ์๋๋์ง ํ์ธ
2.3.6 ํ์ ์ ๋ณด ์กฐํ
Open Market API/ํ์ ์ ๋ณด ์กฐํ
GET
,{{url}}/users/4
2.3.7 ํ์ ์ ๋ณด ์์
Open Market API/ํ์ ์ ๋ณด ์์
PATCH
,{{url}}/users/4
- Body > raw > "Text" -> "JSON"์ผ๋ก ๋ณ๊ฒฝ. ๋ฐ์ดํฐ ์ ๋ ฅ ํ Send
{ "name": "์ ์ด๋ฏธ" }
- ์๋ต ๊ฒฐ๊ณผ ํ์ธ
{ "ok": 0, "message": "authorization ํค๋๊ฐ ์์ต๋๋ค.", "errorName": "EmptyAuthorization" }
2.3.8 ๋ก๊ทธ์ธ
Open Market API/๋ก๊ทธ์ธ
POST
,{{url}}/users/login
- Body > raw > "Text" -> "JSON"์ผ๋ก ๋ณ๊ฒฝ. ๋ฐ์ดํฐ ์ ๋ ฅ ํ Send
{ "email": "[email protected]", "password": "11111111" }
๋ก๊ทธ์ธ ์๋ต ๊ฒฐ๊ณผ๋ก ๋ฐ์ ํ ํฐ์ ํ๊ฒฝ ๋ณ์์ ์ธํ
-
Collections > Open Market API > ๋ก๊ทธ์ธ > Scripts > Post-response
if (pm.response.code === 200) { const jsonData = pm.response.json(); const accessToken = jsonData.item.token.accessToken; const refreshToken = jsonData.item.token.refreshToken; pm.environment.set("accessToken", accessToken); pm.environment.set("refreshToken", refreshToken); }
-
Environments > Open Market ํ๊ฒฝ ๋ณ์์ accessToken๊ณผ refreshToken ์ถ๊ฐ ๋์๋์ง ํ์ธ
ํ์ ์ ๋ณด ์์ ์์ฒญ ํค๋์ ํ ํฐ ์ธ์ฆ ์ ๋ณด ์ถ๊ฐ
- Collections > Open Market API > ํ์ ์ ๋ณด ์์ > Authorization
- Auth Type: Bearer Token
- Token:
{{accessToken}}
- Send
- ์ ์ ์๋ต ๊ฒฐ๊ณผ ํ์ธ
์ปฌ๋ ์ ๋ด์ ๋ชจ๋ ์์ฒญ์ ํ ํฐ ์ธ์ฆ ์ ๋ณด ์ถ๊ฐ
-
Collections > Open Market API > Authorization
- Auth Type: Bearer Token
- Token:
{{accessToken}}
- Ctrl + S ๋๋ฌ์ ์ ์ฅ
-
์์ ํ๋ฆ ์ค๋ช
-
๋ก๊ทธ์ธ-์ธ์ฆ ๊ด๋ฆฌ๊ธฐ๋ฅ(์ค๋ช ) (10์ด๋์ ๋ก๊ทธ์ธ ์ ์ง)
-
์ฐธ๊ณ ์ฌ์ดํธ
๐ 01 Fetch API
- ๐ป 01 Fetch API