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)
...
나는 당신이 방법 switch 문 및 여러 가지를 처리 할 수있는 몇 가지 정규식 하나의 "주 서버"가 거라고 생각할 겁니다, 표현에 익숙하지 않다 ...하지만 휴식 종점. 그냥 그래. –
왜 학생과 코스를 양방향으로 돌리려고합니까? 그것의 요점은 무엇입니까? – dthree
/courses/: c_id/students/: s_id 및/students/: s_id/courses/: c_id의 경우 귀하의 요점을 봅니다. 그럼에도 불구하고 코스에 등록한 학생 목록 (/ courses/: c_id/students)과 학생이 등록한 코스 목록 (/ students/: s_id/courses) –