[nodejs] REST API 경로 지정 및 명명 규칙
REST API를 설계할 때는 명확하고 일관된 경로 지정과 명명 규칙이 중요합니다. 이러한 규칙을 준수함으로써 API의 가독성과 유지보수성을 향상시킬 수 있습니다.
목차
REST API 경로 지정
REST API의 경로는 리소스를 나타내는 데 사용됩니다. 이 경로는 일반적으로 명사로 구성되며, 복수형으로 표현하는 것이 관례입니다. 예를 들어, 사용자 정보를 다루는 API의 경우 /users
와 같이 명사를 복수형으로 사용하게 됩니다. 또한 하위 리소스에 대한 경로는 부모 리소스의 하위에 위치하도록 구성됩니다.
REST API 명명 규칙
REST API의 명명 규칙은 HTTP 동작과 관련하여 다음과 같이 지정됩니다:
- GET: 리소스의 조회에 사용되며, 경로에 식별자를 포함하여 단일 리소스 또는 컬렉션 리소스를 반환합니다.
- POST: 새로운 리소스를 생성하는 데 사용되며, 경로는 해당 리소스가 생성될 컬렉션의 위치를 나타냅니다.
- PUT: 특정한 리소스를 생성하거나 갱신하는 데 사용되며, 경로에 갱신할 리소스의 식별자를 명시합니다.
- PATCH: 특정한 리소스의 일부를 갱신하는 데 사용되며, 경로에 갱신할 리소스의 식별자를 명시합니다.
- DELETE: 특정한 리소스를 삭제하는 데 사용되며, 경로에 삭제할 리소스의 식별자를 명시합니다.
이러한 명명 규칙을 준수함으로써 API 사용자는 각 HTTP 메서드가 어떤 동작을 수행하는지 쉽게 이해할 수 있게 됩니다.
예시 코드
다음은 Node.js와 Express를 사용하여 REST API를 구현하는 예시 코드입니다.
// user 정보를 다루는 REST API 예시
const express = require('express');
const app = express();
// 사용자 목록 조회
app.get('/users', (req, res) => {
// 사용자 목록 반환
});
// 특정 사용자 조회
app.get('/users/:userId', (req, res) => {
// 특정 사용자 정보 반환
});
// 새로운 사용자 생성
app.post('/users', (req, res) => {
// 사용자 생성 로직
});
// 사용자 정보 갱신
app.put('/users/:userId', (req, res) => {
// 사용자 정보 갱신 로직
});
// 사용자 삭제
app.delete('/users/:userId', (req, res) => {
// 사용자 삭제 로직
});
// 서버 실행
app.listen(3000, () => {
console.log('서버가 3000 포트에서 구동 중입니다.');
});
참고 자료
- Best Practices for Designing a Pragmatic RESTful API
- RESTful API Designing guidelines — The best practices
위의 참고 자료를 통해 더 많은 정보를 얻을 수 있습니다.