Я думаю, что лучшим подходом было бы создать отдельный маршрут (или маршрут), а затем использовать POST для добавления пользователя в группу и DELETE для его удаления. Таким образом, маршрут POST создает связь между пользователем и группой, а маршрут DELETE избавляется от него. Может быть, что-то вроде этого:
GET /chats
- получить все групповые чаты
POST /chats
- создать новый групповой чат
POST /chats/:id/members
- добавить пользователя в чат с указанным идентификатором
DELETE /chats/:id/members
- удалить пользователя из чата с указанным идентификатором
Этот подход будет работать исключительно хорошо, если вы используете реляционную базу данных, поскольку операции на /chats/:id/members
будут отображаться непосредственно в вашу соединительную таблицу.