2014-01-25 3 views
1

I가 다음과 같은 가상의 RESTful API 엔드 포인트 : 당신은 Node.js를의 경로를 (내가 표현 사용) 코드를 얼마나Node.js를에서 편안하고 API를 구현

/courses 
/courses/:id 
/students 
/students/:id 
/courses/:c_id/students 
/courses/:c_id/students/:s_id 
/students/:s_id/courses 
/students/:s_id/courses/:c_id 

당신이 코드의 적은 반복을 가질 수 있도록하고 경로 (특히 학생과 코스의 다 대다 관계에서)?

예 무력 접근 방식은 다음과 같습니다

app.get('/courses', courses.getAll); 
app.post('/courses', courses.create); 
app.get('/courses/:id', courses.get); 
app.put('/courses/:id', courses.edit); 
app.del('/courses/:id', courses.delete); 
... 
app.get('/courses/:c_id/students', courseStudents.getStudents); 
app.get('/courses/:c_id/students/:s_id', courseStudents.getStudent); 
... 
app.get('/students/:s_id/courses', studentCourses.getCourses) 
app.get('/students/:s_id/courses/:c_id', studentCourses.getCourse) 
... 
+0

나는 당신이 방법 switch 문 및 여러 가지를 처리 ​​할 수있는 몇 가지 정규식 하나의 "주 서버"가 거라고 생각할 겁니다, 표현에 익숙하지 않다 ...하지만 휴식 종점. 그냥 그래. –

+0

왜 학생과 코스를 양방향으로 돌리려고합니까? 그것의 요점은 무엇입니까? – dthree

+0

/courses/: c_id/students/: s_id 및/students/: s_id/courses/: c_id의 경우 귀하의 요점을 봅니다. 그럼에도 불구하고 코스에 등록한 학생 목록 (/ courses/: c_id/students)과 학생이 등록한 코스 목록 (/ students/: s_id/courses) –

답변

관련 문제