본문 바로가기
Blog/TIL

2025-03-06 (목)

by 코젼 2025. 3. 6.
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

댓글