728x90
반응형
💡 정리
- API를 설계할 때 DELETE 요청은 Request Body를 허용하지 않으므로, Path Variable 또는 Query Parameter를 활용해야 함
- PUT 요청에서는 변경할 데이터를 명확히 전달하도록 JSON Body를 포함하는 것이 일반적
- 데이터베이스 설계 시, 특정 테이블 간의 연관 관계에 따라 일부 데이터만 삭제하고 일부는 유지하는 전략을 고려해야 함
API 명세 작성
- 특정 데이터를 삭제하는 DELETE API를 설계할 때,
- 경로 변수(Path Variable)로 ID 리스트를 전달할 경우 DELETE /resource/{ids} 형태로 처리
- 단일 ID만 전달하는 경우 DELETE /resource/{id} 사용
- PUT 요청에서는 경로 변수로 ID를 받고, JSON Body로 수정할 데이터를 받는 패턴을 사용
- DELETE 요청은 보통 Request Body를 지원하지 않으므로, 삭제할 ID 리스트는 Path Variable 또는 Query Parameter로 전달
예외 처리
- 400 Bad Request → 요청이 올바르지 않거나 필수 값이 누락된 경우
- 404 Not Found → 특정 ID가 존재하지 않을 경우
- 500 Internal Server Error → DB 오류 또는 예기치 않은 문제가 발생한 경우
SQL 쿼리 패턴
- 여러 개의 ID를 한 번에 삭제할 때 IN 조건을 사용
DELETE FROM resource_table WHERE resource_id IN ('id1', 'id2', 'id3');
- 특정 컬럼 값을 업데이트할 때는 WHERE 절을 사용하여 대상 ID를 명확히 지정
UPDATE resource_table SET column_name = new_value WHERE id = 'target_id';
CRUL
DELETE 요청에서 여러 개의 ID를 전달하는 방법:
curl -X DELETE "<http://your-api-url/resource/id1,id2,id3>" \\\\
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
PUT 요청에서 특정 항목을 업데이트하는 방법:
curl -X PUT "<http://your-api-url/resource/id1/attribute>" \\\\
-H "Content-Type: application/json" \\\\
-d '{"attributeName": newValue}'
728x90
반응형
'Blog > TIL' 카테고리의 다른 글
2025-03-10 (월) (1) | 2025.03.10 |
---|---|
2025-03-07 (금) (2) | 2025.03.07 |
2025-03-05 (수) (0) | 2025.03.05 |
2025-03-04 (화) (0) | 2025.03.04 |
2025-02-28 (금) (1) | 2025.02.28 |
댓글