시스템 설계 · 기초
RESTful API에서 주로 사용되는 HTTP 메서드인 GET, POST, PUT, DELETE의 각각의 역할과 용도를 구체적인 예시와 함께 설명해주세요.
힌트 · GET은 조회, POST는 생성, PUT은 전체 업데이트, DELETE는 삭제에 사용되며, 각 메서드는 고유한 의미를 가집니다.
GET: 조회POST: 생성PUT: 수정DELETE: 삭제멱등성
모범답안
RESTful API에서 HTTP 메서드는 각각 다음과 같은 역할을 합니다.
GET은 서버에서 특정 리소스를 조회할 때 사용합니다. 예를 들어, /users/123으로 GET 요청을 보내면 ID가 123인 사용자 정보를 가져오는 것이죠.
POST는 새로운 리소스를 생성할 때 사용합니다. 예를 들어, /users로 POST 요청을 보내면서 새로운 사용자 정보를 함께 보내면, 서버는 해당 정보를 바탕으로 새로운 사용자 계정을 생성합니다.
PUT은 기존 리소스를 전체적으로 업데이트할 때 사용합니다. 예를 들어, /users/123으로 PUT 요청을 보내면서 사용자 정보 전체를 담아 보내면, ID가 123인 사용자의 정보가 완전히 새로운 정보로 대체됩니다. PUT은 멱등성을 가지기 때문에, 같은 요청을 여러 번 보내도 결과가 같습니다.
DELETE는 특정 리소스를 삭제할 때 사용합니다. 예를 들어, /users/123으로 DELETE 요청을 보내면 ID가 123인 사용자 계정이 삭제됩니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 API 설계 면접 질문
- REST(Representational State Transfer) API가 무엇인지 설명하고, RESTful API를 설계할 때 중요하게 고려해야 할 기본 원칙들을 간략히 언급해주세요.
- RESTful API 설계 시 URI(Uniform Resource Identifier)를 어떻게 구성해야 좋은지, 리소스 중심의 URI 설계 원칙에 대해 설명해주세요.
- API 응답에서 HTTP 상태 코드가 가지는 의미와 중요성은 무엇이며, 자주 사용되는 2xx, 4xx, 5xx 계열의 상태 코드들을 각각 하나씩 예시를 들어 설명해주세요.
- API 설계에서 '멱등성(Idempotence)'이란 무엇이며, 멱등성이 보장되어야 하는 HTTP 메서드와 그 이유에 대해 설명해주세요.