๐ Checkbara ์๋น์ค ์๊ฐ
์ฑ
๊ฒ์ & ์์ ์ฌ๊ณ ํ์ธ & ๋์ถ ๊ฐ๋ฅ ๋์๊ด ํ์ธ
๐ฟ Dynamo DB table ๊ตฌ์กฐ๋
libCode (PK) |
libName (SK) |
latitude |
longitude |
- URL: BASE_URL/api/book/{์ฑ
์ isbn ๊ฐ}/library?lat={ํ์ฌ ์๋}&lon={ํ์ฌ ๊ฒฝ๋}
- Method:
GET
- ๊ธฐ๋ฅ ์๊ฐ: ํด๋น ์ฑ
์ ์ด๋ ๋์๊ด์์ ๋์ถ์ด ๊ฐ๋ฅํ์ง ์ง๋์ ํ์ํด์ฃผ๋ ๊ธฐ๋ฅ
โ๐ปRequest Header
Content-Type: application/json
Name |
Type |
Description |
Required |
์ฑ
์ { isbn ๊ฐ } |
String |
์ฑ
์ 13์๋ฆฌ isbn ๊ฐ |
Required |
Name |
Type |
Description |
Required |
lat={ ํ์ฌ ์๋ } |
String |
์ฌ์ฉ์์ ํ์ฌ ์์น ์๋ |
Required |
lon={ ํ์ฌ ๊ฒฝ๋ } |
String |
์ฌ์ฉ์์ ํ์ฌ ์์น ๊ฒฝ๋ |
Required |
{
"code": 200,
"message": "์ฑ
์ ๋์ถ ๊ฐ๋ฅ ๋์๊ด ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ฑ๊ณตํ์ต๋๋ค.",
"data": {
"isbn": "9791140708116",
"title": "์๋ ๋งํผ ๋ณด์ด๋ ๋ฐฑ์๋ ๊ฐ๋ฐ (ํ ๊ถ์ผ๋ก ๋ณด๋ ๋ฐฑ์๋ ๋ก๋๋งต๊ณผ ์ปค๋ฆฌ์ด ๊ฐ์ด๋)",
"libraryList": [
{
"code": "111110",
"name": "๊ตฌ๋ฆฝ์ฆ์ฐ์ ๋ณด๋์๊ด",
"latitude": "37.582973",
"longtitude": "126.907543"
},
{
"code": "111511",
"name": "์ ๋น๋๋ฆฌ๋์๊ด",
"latitude": "37.5633821",
"longtitude": "127.012303"
}
]
}
}
{
"code": 200,
"message": "์ฑ
์ ๋์ถ ๊ฐ๋ฅ ๋์๊ด ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ฑ๊ณตํ์ต๋๋ค.",
"data": {
"isbn" : 9791140708116,
"title" : "์๋ ๋งํผ ๋ณด์ด๋ ๋ฐฑ์๋ ๊ฐ๋ฐ (ํ ๊ถ์ผ๋ก ๋ณด๋ ๋ฐฑ์๋ ๋ก๋๋งต๊ณผ ์ปค๋ฆฌ์ด ๊ฐ์ด๋)",
"bookStoreList" : null
}
}
-
ํ์ํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
{
"code": 400,
"message": "isbn๊ฐ์ด ์์ต๋๋ค.",
"data": null
}
-
isbn ๊ฐ์ ๋งค์นญ๋๋ ์ฑ
์ด ์์ ๊ฒฝ์ฐ
{
"code": 404,
"message": "์๋ ์ฑ
์
๋๋ค.",
"data": null
}
-
์๋ฒ์๋ฌ
{
"code": 500,
"message": "์๋ฒ ์๋ฌ",
"data": null
}
๐ก be-library-stock architecture
- ๋์๊ด ์ ๋ณด๋๋ฃจ์ ๋์๊ด ์ ๋ณด ์กฐํ API์
go aws sdk
๋ฅผ ์ด์ฉํด ๋์๊ด ์ฝ๋, ์ง์ ๋ช
, ์๊ฒฝ๋ ๊ฐ์ DynamoDB์ ์ ์ฅ
- API Gateway์์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด Lambda ์คํ
- Lambda๋ API Gateway์์ ๋ฐ์์จ ์ฑ
์ isbn ๊ฐ๊ณผ DynamoDB์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๋์๊ด๋ณ ๋์์ ๋์ถ ๊ฐ๋ฅ ์ฌ๋ถ ์กฐํ
- ๋์ถ ๊ฐ๋ฅํ ๋์๊ด์ ์ ๋ณด(๋์๊ด ์ฝ๋, ๋์๊ด ์ด๋ฆ, ์ฌ๊ณ ์, ์๋, ๊ฒฝ๋)๋ฅผ ์ ๋ฌ