라우터가 길잃음

router.get('/api/group/:groupId') router.get('/studyGroups') router.get('/api/group/rooms') 이때, /api/group/rooms 로 요청을 날려도 router.get('/api/group/:groupId') 라우터로 가는이유

ChatGPT

Express.js에서 URL 경로의 정의 순서가 중요합니다. 라우터 경로가 정의된 순서대로 Express는 URL을 매칭하고 첫 번째로 일치하는 라우터에 대해 처리를 실행합니다. 따라서 /api/group/:groupId 라우터는 **/api/group/rooms**의 일부로 인식될 수 있습니다.

두 번째 라우터인 **'/studyGroups'**은 정적 경로이므로 **/api/group/rooms**와 일치하지 않습니다. 따라서 **/studyGroups**에 대한 요청은 해당 라우터로 이동합니다.

**/api/group/rooms**와 **/api/group/:groupId**는 경로 구조상 유사하므로 Express는 **/api/group/rooms**를 groupId 매개변수로 처리할 수 있습니다. 이것이 원하지 않는 동작일 경우 경로 순서를 조정하거나 라우터를 더 구체적으로 만들어서 해결할 수 있습니다.


DB 구조가 어떻게 변해왔는지

1차 구조 변경

mysql

그룹과 유저간의 관계 등 (수락, 거절 등)

Mongodb

실시간 처리가 필요한 (채팅, 타이머 등)

구조