사용자 가입 및 로그인(비로그인 가능)
회원가입
HTTP request
POST /auth/signup HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 82
Host: localhost:8080
{
"signUpId" : "userId",
"password" : "password1234",
"userRole" : "BUYER"
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
회원가입을 진행할 아이디 |
|
|
|
true |
회원가입을 진행할 패스워드 |
|
|
|
true |
거래 권한 설정 (구매자 또는 판매자) |
BUYER or SELLER |
로그인
HTTP request
POST /auth/signin HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 54
Host: localhost:8080
{
"signInId" : "userId",
"password" : "password"
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 23
{
"role" : "SELLER"
}
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
사용자가 입력한 아이디 |
|
|
|
true |
사용자가 입력한 패스워드 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
사용자의 거래 권한 (구매자 또는 판매자) |
로그아웃
HTTP request
POST /auth/signout HTTP/1.1
Host: localhost:8080
Cookie: JSESSIONID=sessionId
Content-Type: application/x-www-form-urlencoded
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
포인트(구매자, 판매자 권한 필요)
포인트 충전
HTTP request
POST /payments/points/charge HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 22
Host: localhost:8080
Cookie: JSESSIONID=sessionId
{
"amount" : 10000
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request cookies
Name | Description |
---|---|
|
세션 ID |
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
충전할 포인트 금액 |
Long.MAX_VALUE까지 충전 가능 |
경매: 사용자(비로그인도 조회 가능)
경매 목록 조회
HTTP request
GET /auctions?offset=0&size=2 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Host: localhost:8080
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 330
[ {
"id" : 1,
"title" : "쓸만한 경매품 1",
"price" : 2000,
"startedAt" : "2024-08-27T14:44:34.150396",
"finishedAt" : "2024-08-27T15:14:34.150405"
}, {
"id" : 2,
"title" : "쓸만한 경매품 2",
"price" : 4000,
"startedAt" : "2024-08-27T14:44:34.150427",
"finishedAt" : "2024-08-27T15:14:34.150429"
} ]
Query parameters
Parameter | Description |
---|---|
|
조회를 시작할 순서 |
|
조회할 페이지 크기 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 상품 ID |
|
|
|
true |
경매 상품 이름 |
|
|
|
true |
경매 상품 가격 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
경매 상세 조회(고정 할인 정책 조회)
HTTP request
GET /auctions/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Accept: application/json
Host: localhost:8080
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 397
{
"auctionId" : 1,
"sellerId" : 2,
"productName" : "테스트 상품",
"originPrice" : 10000,
"currentPrice" : 5000,
"originStock" : 100,
"currentStock" : 100,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "CONSTANT",
"variationWidth" : 10
},
"variationDuration" : "PT1M",
"startedAt" : "2024-08-15T14:18:00",
"finishedAt" : "2024-08-15T15:18:00"
}
Path parameters
Parameter | Description |
---|---|
|
상세 조회 할 경매의 ID |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 ID |
|
|
|
true |
판매자 ID |
|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
현재 가격 |
|
|
|
true |
재고를 보여주지 않는다면 NULL이고 응답 값에서 제외됨 |
원래 재고 |
|
|
true |
재고를 보여주지 않는다면 NULL이고 응답 값에서 제외됨 |
현재 재고 |
|
|
true |
최대 구매 수량 제한 |
|
|
|
true |
가격 정책 |
|
|
|
true |
가격 정책 타입 |
|
|
|
true |
절대 변동 폭 |
|
|
|
true |
가격 변동 주기 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
경매 상세 조회(퍼센트 할인 정책 조회)
HTTP request
GET /auctions/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Accept: application/json
Host: localhost:8080
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 399
{
"auctionId" : 1,
"sellerId" : 2,
"productName" : "테스트 상품",
"originPrice" : 10000,
"currentPrice" : 5000,
"originStock" : 100,
"currentStock" : 100,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "PERCENTAGE",
"discountRate" : 10.0
},
"variationDuration" : "PT1M",
"startedAt" : "2024-08-15T14:18:00",
"finishedAt" : "2024-08-15T15:18:00"
}
Path parameters
Parameter | Description |
---|---|
|
상세 조회 할 경매의 ID |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 ID |
|
|
|
true |
판매자 ID |
|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
현재 가격 |
|
|
|
true |
재고를 보여주지 않는다면 NULL이고 응답 값에서 제외됨 |
원래 재고 |
|
|
true |
재고를 보여주지 않는다면 NULL이고 응답 값에서 제외됨 |
현재 재고 |
|
|
true |
최대 구매 수량 제한 |
|
|
|
true |
가격 정책 |
|
|
|
true |
가격 정책 타입 |
|
|
|
true |
가격 변동 할인율 |
|
|
|
true |
가격 변동 주기 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
경매: 판매자(판매자 권한 필요)
경매 등록(고정 할인 정책)
HTTP request
POST /auctions HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 338
Host: localhost:8080
Cookie: JSESSIONID=sessionId
{
"productName" : "productName",
"originPrice" : 10000,
"stock" : 100,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "CONSTANT",
"variationWidth" : 100
},
"variationDuration" : "PT10M",
"startedAt" : "2024-08-27T15:44:34.42135",
"finishedAt" : "2024-08-27T16:44:34.42135",
"isShowStock" : true
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request cookies
Name | Description |
---|---|
|
세션 ID |
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
상품 재고 |
|
|
|
true |
최대 구매 제한 수량 |
|
|
|
true |
가격 정책 |
|
|
|
true |
가격 정책 타입 |
|
|
|
true |
절대 가격 정책시 가격 절대 변동폭 |
|
|
|
true |
경매 기간 |
|
|
|
true |
재고 노출 여부 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
|
|
|
true |
재고 노출 여부 |
경매 등록(퍼센트 할인 정책)
HTTP request
POST /auctions HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 341
Host: localhost:8080
Cookie: JSESSIONID=sessionId
{
"productName" : "productName",
"originPrice" : 10000,
"stock" : 100,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "PERCENTAGE",
"discountRate" : 10.0
},
"variationDuration" : "PT10M",
"startedAt" : "2024-08-27T15:44:34.398981",
"finishedAt" : "2024-08-27T16:44:34.398981",
"isShowStock" : true
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request cookies
Name | Description |
---|---|
|
세션 ID |
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
상품 재고 |
|
|
|
true |
최대 구매 제한 수량 |
|
|
|
true |
가격 정책 |
|
|
|
true |
가격 정책 타입 |
|
|
|
true |
퍼센트 가격 정책시 가격 할인율 |
|
|
|
true |
경매 기간 |
|
|
|
true |
재고 노출 여부 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
|
|
|
true |
재고 노출 여부 |
경매 등록 취소
HTTP request
DELETE /auctions/1 HTTP/1.1
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
취소할 경매 ID |
경매 목록 조회
HTTP request
GET /auctions/seller?offset=10&size=2 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 502
[ {
"id" : 1,
"title" : "내가 판매하는 경매품 1",
"originPrice" : 2000,
"currentPrice" : 1500,
"totalStock" : 100,
"currentStock" : 30,
"startedAt" : "2024-08-27T14:44:34.360629",
"finishedAt" : "2024-08-27T15:14:34.360633"
}, {
"id" : 2,
"title" : "내가 판매하는 경매품 2",
"originPrice" : 4000,
"currentPrice" : 3500,
"totalStock" : 200,
"currentStock" : 60,
"startedAt" : "2024-08-27T14:44:34.360652",
"finishedAt" : "2024-08-27T15:14:34.360654"
} ]
Request cookies
Name | Description |
---|---|
|
세션 ID |
Query parameters
Parameter | Description |
---|---|
|
조회를 시작할 순서 |
|
조회할 페이지 크기 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 ID |
|
|
|
true |
경매 노출 제목 |
|
|
|
true |
상품 원가 |
|
|
|
true |
현재 가격 |
|
|
|
true |
총 재고 |
|
|
|
true |
현재 남은 재고 |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
경매 상세 조회(고정 할인 정책 조회)
HTTP request
GET /auctions/1/seller HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 420
{
"auctionId" : 1,
"productName" : "쓸만한 경매품",
"originPrice" : 10000,
"currentPrice" : 8000,
"originStock" : 100,
"currentStock" : 50,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "CONSTANT",
"variationWidth" : 10
},
"variationDuration" : "PT10M",
"startedAt" : "2024-08-27T14:44:34.322866",
"finishedAt" : "2024-08-27T15:44:34.322869",
"isShowStock" : true
}
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
조회할 경매 ID |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 ID |
|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
현재 가격 |
|
|
|
true |
원래 재고 |
|
|
|
true |
현재 재고 |
|
|
|
true |
최대 구매 수량 제한 |
|
|
|
true |
가격 정책 유형 |
|
|
|
true |
가격 변동 폭(고정 할인 정책) |
|
|
|
true |
가격 변동 주기(분) |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
|
|
|
true |
재고 표시 여부 |
경매 상세 조회(퍼센트 할인 정책 조회)
HTTP request
GET /auctions/1/seller HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 422
{
"auctionId" : 1,
"productName" : "쓸만한 경매품",
"originPrice" : 10000,
"currentPrice" : 8000,
"originStock" : 100,
"currentStock" : 50,
"maximumPurchaseLimitCount" : 10,
"pricePolicy" : {
"type" : "PERCENTAGE",
"discountRate" : 10.0
},
"variationDuration" : "PT10M",
"startedAt" : "2024-08-27T14:44:34.340307",
"finishedAt" : "2024-08-27T15:44:34.340312",
"isShowStock" : true
}
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
조회할 경매 ID |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
경매 ID |
|
|
|
true |
상품 이름 |
|
|
|
true |
상품 원가 |
|
|
|
true |
현재 가격 |
|
|
|
true |
원래 재고 |
|
|
|
true |
현재 재고 |
|
|
|
true |
최대 구매 수량 제한 |
|
|
|
true |
가격 정책 유형 |
|
|
|
true |
가격 변동 폭(퍼센트 할인 정책) |
|
|
|
true |
가격 변동 주기(분) |
|
|
|
true |
경매 시작 시간 |
|
|
|
true |
경매 종료 시간 |
|
|
|
true |
재고 표시 여부 |
경매: 구매자(구매자 권한 필요)
경매 입찰
HTTP request
POST /auctions/1/purchase HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 40
Host: localhost:8080
Cookie: JSESSIONID=sessionId
{
"price" : 10000,
"quantity" : 20
}
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 58
{
"receiptId" : "998e6fcb-74bf-4e7b-8752-2d09686bca89"
}
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
입찰한 경매의 ID |
Request fields
필드명 | 타입 | 필수값 | 설명 | 제약사항 |
---|---|---|---|---|
|
|
true |
입찰을 희망하는 가격 |
|
|
|
true |
입찰을 희망하는 수량 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
구매 완료된 영수증의 id값 (UUID) |
경매 환불
HTTP request
PUT /receipts/4a8e6fb5-6dc9-4fbd-9d03-5098c4e24f26/refund HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
환불할 경매의 영수증 ID |
거래 이력
구매자 거래 목록 조회(구매자 권한 필요)
HTTP request
GET /receipts/buyer?offset=3&size=10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 536
[ {
"id" : "fd6017f1-90dd-460f-a498-999cbf28951d",
"auctionId" : 1,
"type" : "PURCHASED",
"productName" : "내가 구매한 상품1",
"quantity" : 10,
"price" : 1000
}, {
"id" : "11481b00-0a5a-4fb7-9aad-c3216f9fb9fd",
"auctionId" : 2,
"type" : "REFUND",
"productName" : "내가 구매한 상품2",
"quantity" : 20,
"price" : 2000
}, {
"id" : "391fc8ad-79fd-4a6b-8616-f63ec7b8e182",
"auctionId" : 3,
"type" : "PURCHASED",
"productName" : "내가 구매한 상품3",
"quantity" : 30,
"price" : 3000
} ]
Request cookies
Name | Description |
---|---|
|
세션 ID |
Query parameters
Parameter | Description |
---|---|
|
조회를 시작할 순서 |
|
조회할 페이지 크기 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
거래 내역 ID (UUID) |
|
|
|
true |
구매한 경매의 ID |
|
|
|
true |
거래 타입 (구매완료, 환불완료) |
|
|
|
true |
상품명 |
|
|
|
true |
구매 수량 |
|
|
|
true |
구매 가격 |
판매자 거래 목록 조회(판매자 권한 필요)
HTTP request
GET /receipts/seller?offset=3&size=10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 533
[ {
"id" : "16d9a1c9-ea02-4111-9c6d-01f5f9ab675e",
"auctionId" : 1,
"type" : "REFUND",
"productName" : "내가 판매한 상품1",
"price" : 1000,
"quantity" : 10
}, {
"id" : "948b82a3-6555-4a64-924c-c40405b2bfcb",
"auctionId" : 2,
"type" : "PURCHASED",
"productName" : "내가 판매한 상품2",
"price" : 2000,
"quantity" : 20
}, {
"id" : "5979f98d-142d-4d54-8429-13a62e84f4e3",
"auctionId" : 3,
"type" : "REFUND",
"productName" : "내가 판매한 상품3",
"price" : 3000,
"quantity" : 30
} ]
Request cookies
Name | Description |
---|---|
|
세션 ID |
Query parameters
Parameter | Description |
---|---|
|
조회를 시작할 순서 |
|
조회할 페이지 크기 |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
거래 내역 ID (UUID) |
|
|
|
true |
구매한 경매의 ID |
|
|
|
true |
거래 타입 (구매완료, 환불완료) |
|
|
|
true |
상품명 |
|
|
|
true |
구매 수량 |
|
|
|
true |
구매 가격 |
거래 상세 조회(판매자, 구매자 권한 필요)
HTTP request
GET /receipts/d9a5afeb-4154-4c54-9592-30cf33265ca3 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: JSESSIONID=sessionId
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 304
{
"receiptId" : "d9a5afeb-4154-4c54-9592-30cf33265ca3",
"productName" : "상품명",
"price" : 1000,
"quantity" : 1,
"receiptStatus" : "PURCHASED",
"auctionId" : 1,
"sellerId" : 1,
"buyerId" : 2,
"createdAt" : "2024-08-27T14:44:34.259177",
"updatedAt" : "2024-08-27T15:44:34.259182"
}
Request cookies
Name | Description |
---|---|
|
세션 ID |
Path parameters
Parameter | Description |
---|---|
|
조회할 거래내역 ID |
Response fields
필드명 | 타입 | 필수값 | 양식 | 설명 |
---|---|---|---|---|
|
|
true |
거래 내역 ID |
|
|
|
true |
상품명 |
|
|
|
true |
구매 가격 |
|
|
|
true |
구매 수량 |
|
|
|
true |
입찰 상태 (구매완료, 환불완료) |
|
|
|
true |
경매 ID |
|
|
|
true |
판매자 ID |
|
|
|
true |
구매자 ID |
|
|
|
true |
경매 입찰 시간 |
|
|
|
true |
경매 마지막 수정 시간 |
에러 코드
Error code
코드 | 코드명 |
---|---|
|
경매 재고는 인당 구매 수량보다 작을 수 없습니다. |
|
상품 이름은 비어있을 수 없습니다. |
|
상품 원가는 0과 같거나 작을 수 없습니다. |
|
최대 구매 수량 제한은 0과 같거나 작을 수 없습니다. |
|
가격 변동폭은 0과 같거나 작을 수 없습니다. |
|
변동 시간 단위는 0과 같거나 작을 수 없습니다. |
|
경매의 시작 시간은 종료 시간보다 클 수 없습니다. |
|
경매 생성 시, 경매 지속시간이 60분을 넘기는 경우 예외가 발생합니다. |
|
경매 가격 변동폭은 경매 가격보다 낮아야 합니다. |
|
경매 생성 시, 할인율이 0퍼센트 미만이거나 50 퍼센트를 초과한 경우 예외가 발생합니다. |
|
경매 조회 시, 경매를 찾을 수 없는 경우 예외가 발생합니다. |
|
경매 정보 생성 시, 현재 가격은 0과 같거나 작을 경우 예외가 발생합니다. |
|
경매 입찰 시, 최대 가능 수량은 넘지 않지만, 남아있는 재고가 부족한 경우 예외가 발생합니다. (비즈니스적 예외가 아니라 200응답으로 반환됩니다. |
|
진행 중이지 않은 경매를 입찰하려고 할 때, 예외가 발생합니다. |
|
경매 생성 시, 경매 시작 시간이 현재 시간보다 이른 경우 예외가 발생합니다. |
|
환불로 인한 재고 변경 시, 추가 및 삭제하는 재고량이 1 미만일 경우 예외가 발생합니다. |
|
환불로 인한 재고 변경 시, 변경 후의 재고가 원래 재고보다 많을 경우 예외가 발생합니다. |
|
경매 취소 시, 사용자 역할이 판매자가 아닌 경우 예외가 발생합니다. |
|
경매 취소 시, 경매를 생성한 판매자와 경매 취소 요청 사용자가 다를 경우 예외가 발생합니다. |
|
경매 취소 시, 경매가 준비중인 상태가 아닐때 예외가 발생합니다. |
|
경매 상세 조회 시, 요청한 판매자가 경매의 판매자가 아닐 경우 예외가 발생합니다. |
|
경매 생성 시, 가격 변동 정책이 적용된 경매에서 최대 할인가를 적용했을떄 최소 가격 이하로 떨어지는 경우 예외가 발생합니다. |
|
경매 입찰 진행 시, 현재 상품의 가격과 사용자가 구매 요청한 가격이 다를때 예외가 발생합니다. |
|
가격 정책 객체를 JSON으로 변환 시, 변환이 불가능할 경우 예외가 발생합니다. |
|
JSON을 가격 정책 객체로 변환 시, 타입이 올바르지 않을 경우 예외가 발생합니다. |
|
JSON을 가격 정책 객체로 변환 시, 변환이 불가능할 경우 예외가 발생합니다. |
|
경매 입찰 요청 시, 요청 가격이 0보다 작으면 예외가 발생합니다. |
|
경매 입찰 요청 시, 요청 수량이 1 미만일 경우 예외가 발생합니다. |
|
경매 생성 시, 경매 지속 시간에서 경매 할인 주기 시간을 나누었을때, 나누어 떨어지지 않는 경우 예외가 발생합니다. |
|
경매 생성 시, 경매 지속 시간이 정확히 분 단위가 아닌 경우 예외가 발생합니다. |
|
경매 입찰 요청 시, 최대 가능 수량을 넘기거나 0이하의 수량을 구매하려고 할때 예외가 발생합니다. |
|
거래 내역 조회 시, 거래 내역을 찾을 수 없을 경우 예외가 발생합니다. |
|
거래 내역 조회 시, 사용자가 해당 거래의 구매자 또는 판매자가 아닌 경우 예외가 발생합니다. |
|
환불 시, 이미 환불된 거래 내역일 경우 예외가 발생합니다. |
|
로그인(회원가입) 시, 이미 존재하는 회원 아이디로 로그인을 시도한 경우 예외가 발생합니다. |
|
로그인(회원가입) 시, 사용자의 역할(구매자, 판매자)를 찾을 수 없는 경우 예외가 발생합니다. |
|
사용자 조회 시, 사용자를 찾을 수 없는 경우 예외가 발생합니다. |
|
로그인 시, 입력 패스워드와 실제 패스워드가 다른 경우 예외가 발생합니다. |
|
회원가입 시, 사용자 아이디가 비어있는 경우 예외가 발생합니다. |
|
회원가입 시, 사용자 아이디가 글자수 제한 정책에 맞지 않으면 예외가 발생합니다. |
|
회원가입 시, 비밀번호가 빈칸 또는 공백인 경우 예외가 발생합니다. |
|
회원가입 시, 비밀번호는 8자 이상 20자 이하가 아닌 경우 예외가 발생합니다. |
|
회원가입 시, 비밀번호에 숫자가 포함되어 있지 않은 경우 예외가 발생합니다. |
|
회원가입 시, 비밀번호에 알파벳 소문자가 포함되어 있지 않은 경우 예외가 발생합니다. |
|
회원가입 시, 비밀번호에 영문자와 숫자 외에 다른 문자가 포함되어 있는 경우 예외가 발생합니다. |
|
구매 시, 로그인한 사용자가 구매자가 아닌 경우 예외가 발생합니다. |
|
구매 시, 사용자의 포인트가 부족한 경우 예외가 발생합니다. |
|
거래 내역 조회 시, 거래 내역을 찾을 수 없을 경우 예외가 발생합니다. |
|
환불 시, 요청한 사용자가 환불할 거래의 구매자가 아닌 경우 예외가 발생합니다. |
|
포인트 충전 시, 충전할 포인트가 0보다 작을 경우 예외가 발생합니다. |
|
포인트 충전 시, 충전 후 포인트가 Long 최대값을 초과할 경우 예외가 발생합니다. |
|
환불 요청 시, 종료된 경매에 대한 환불이 아닌 경우 예외가 발생합니다. |
|
포이늩 연산 시, 음수 값을 연산에 사용하는 경우 예외가 발생합니다. |
|
API 요청 시, 비로그인 사용자가 허락되지 않은 엔드포인트에 접근 할 경우 예외가 발생합니다. |
|
API 요청 시, 판매자가 아닌 사람이 판매자만 접근할 수 있는 엔드포인트에 접근 할 경우 예외가 발생합니다. |
|
API 요청 시, 구매자가 아닌 사람이 구매자만 접근할 수 있는 엔드포인트에 접근 할 경우 예외가 발생합니다. |
|
API 요청 시, Roles에 명시된 권한을 하나라도 갖지 않은 사용자가 엔드포인트에 접근 할 경우 예외가 발생합니다. |
|
DTO 생성 시, 필드의 값이 NULL인 경우 예외가 발생합니다. |
|
목록 조회시, 과도한 데이터를 조회할 수 없습니다. |
|
Lock 획득 시, TimeOut 시간을 초과하면 예외가 발생합니다. |
|
Lock 획득 시, 시스템 문제로 락을 획득하지 못한 경우 예외가 발생합니다. |
|
서버에서 예기치 못한 예외가 발생한 경우 |