5.상품 수정
인증된 사용자 중에서 자신이 등록한 상품은 수정할 수 있음
| 메서드 | URI |
|---|---|
| PUT | /api/products |
1-1. 세부 요구사항
- 인증된 사용자만 상품 수정 가능(JWT 기반,
Bearer) - HATEOAS 링크 포함(
_links)profile: 상품 조회에 대한 API 문서 참조 링크self: 현재 조회한 데이터 자체 APIlist-products: 전체 상품 목록 조회delete-product: 상품 제거
- 입력값 유효성 검증(상품 등록과 동일한 입력 조건)
1-3. 요청 예시
요청 예시는 다음과 같음
JSON 요청 포맷
{
"name": "아이팟 프로",
"description": "아이맥입니다",
"price": 120000,
"stock": 3,
"category": "전자제품"
}1-4. 응답 예시
응답 예시는 다음과 같음
수정된 결과 데이터와 HATEOAS 링크가 응답됨
JSON 응답 포맷
{
"id": 1,
"name": "아이팟 프로",
"description": "아이맥입니다",
"price": 120000,
"stock": 3,
"category": "전자제품",
"userId": 1,
"_links": {
"self": [
{
"href": "http://localhost:8080/api/products/1",
"type": "GET"
}
],
"profile": {
"href": "/swagger-ui/index.html"
},
"list-products": {
"href": "http://localhost:8080/api/products?page=0&size=10{&category}",
"type": "GET",
"templated": true
},
"delete-product": {
"href": "http://localhost:8080/api/products/1",
"type": "DELETE"
}
}
}1-5. 응답 코드
- 200 OK: 수정 성공
- 400 Bad Request: 유효성 실패, 잘못된 입력값
- 401 Unauthorized: 인증 실패
- 403 Forbidden: 권한 없음 (타인이 등록한 상품 수정 시도)
- 404 Not Found: 존재하지 않는 상품
Last updated on