목차
상품 등록
Request
URL
POST /api/v1.0/items
Host: localhost:8080
Parameter
Name |
Type |
Description |
Required |
itemName |
String |
상품 이름 |
true |
itemDescription |
String |
상품 설명 |
true |
itemCategory |
String |
상품 카테고리 |
true |
itemPrice |
int |
상품 가격 |
true |
itemLocation |
String |
상품 거래 지역 |
true |
Example
POST http://localhost:8080/api/v1.0/items
{
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 340000,
"itemLocation": "가로수길"
}
Response
201 Created
{
"itemId": 1,
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 340000,
"itemLocation": "가로수길",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
}
상품 조회(전체 조회)
Request
URL
GET /api/v1.0/items
Host: localhost:8080
Parameter
Name |
Type |
Description |
default |
Required |
example |
page |
int |
조회할 페이지 번호 |
0 |
false |
/api/v1.0/items?page=0 |
size |
int |
한 페이지 당 조회 개수 |
20 |
false |
/api/v1.0/items?size=2 |
sort |
String |
정렬 기준 |
asc |
false |
/api/v1.0/items?sort=itemId,desc |
Example
GET http://localhost:8080/api/v1.0/items
Response
200 OK
{
"content": [
{
"itemId": 1,
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 340000,
"itemLocation": "가로수길",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
},
{
"itemId": 2,
"itemName": "맥북 프로 16인치",
"itemDescription": "애플 노트북",
"itemCategory": "전자기기",
"itemPrice": 3000000,
"itemLocation": "강남",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
}
],
"pageable": {
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 20,
"number": 0,
"sort": {
},
"numberOfElements": 1,
"first": true,
"empty": false
}
상품 조회(단건 조회)
Request
URL
GET /api/v1.0/items/{itemId}
Host: localhost:8080
Example
GET http://localhost:8080/api/v1.0/items/1
Response
200 OK
{
"itemId": 1,
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 340000,
"itemLocation": "가로수길"
}
상품 검색(이름으로 검색)
Request
URL
GET /api/v1.0/items/search
Host: localhost:8080
Parameter
Name |
Type |
Description |
Required |
itemName |
String |
상품 이름 |
true |
Parameter(Pagination)
Name |
Type |
Description |
default |
Required |
example |
page |
int |
조회할 페이지 번호 |
0 |
false |
/api/v1.0/items?page=0 |
size |
int |
한 페이지 당 조회 개수 |
20 |
false |
/api/v1.0/items?size=2 |
sort |
String |
정렬 기준 |
asc |
false |
/api/v1.0/items?sort=itemId,desc |
Example
GET http://localhost:8080/api/v1.0/items/search?itemName=프로
Response
200 OK
{
"content": [
{
"itemId": 1,
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 340000,
"itemLocation": "가로수길",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
},
{
"itemId": 2,
"itemName": "맥북 프로 16인치",
"itemDescription": "애플 노트북",
"itemCategory": "전자기기",
"itemPrice": 3000000,
"itemLocation": "강남",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
}
],
"pageable": {
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 20,
"number": 0,
"sort": {
},
"numberOfElements": 1,
"first": true,
"empty": false
}
상품 수정
Request
URL
PUT /api/v1.0/items/{itemId}
Host: localhost:8080
Parameter
Name |
Type |
Description |
Required |
itemName |
String |
상품 이름 |
true |
itemDescription |
String |
상품 설명 |
true |
itemCategory |
String |
상품 카테고리 |
true |
itemPrice |
int |
상품 가격 |
true |
itemLocation |
String |
상품 거래 지역 |
true |
Example
PUT http://localhost:8080/api/v1.0/items/1
{
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 200000,
"itemLocation": "가로수길"
}
Response
201 Created
{
"itemId": 1,
"itemName": "에어팟 프로",
"itemDescription": "애플 이어폰",
"itemCategory": "전자기기",
"itemPrice": 200000,
"itemLocation": "가로수길",
"registerDate": "2021-01-22T11:12:23.257554",
"updateDate": "2021-01-22T11:12:23.257554"
}
상품 삭제
Request
URL
DELETE /api/v1.0/items/{itemId}
Host: localhost:8080
Example
DELETE http://localhost:8080/api/v1.0/items/1
Response
200 OK