Jakie są właściwe metody http do opuszczenia i dołączenia do grupy czatu, obecnie to robię, oczywiście dzwonią do bazy danych

chatRoom.route('/')
    .get(chat.getChats) // get all group chats
    .post(chat.createChat) // create new group chat
    .put(chat.joinChat) // add user to chat room members array from db
    .patch(chat.leaveChat); // remove user to chat room members array from db
0
Jacobs Naskzmana 4 listopad 2018, 18:01

1 odpowiedź

Najlepsza odpowiedź

Myślę, że najlepszym rozwiązaniem byłoby utworzenie oddzielnej trasy (lub podtrasy), a następnie użycie POST, aby dodać użytkownika do grupy i DELETE, aby go usunąć. W ten sposób trasa POST tworzy relację między użytkownikiem a grupą, a trasa DELETE pozbywa się jej. Może coś takiego:

  • GET /chats – uzyskaj wszystkie czaty grupowe
  • POST /chats – utwórz nowy czat grupowy
  • POST /chats/:id/members - dodaj użytkownika do czatu o podanym identyfikatorze
  • DELETE /chats/:id/members - usuń użytkownika z czatu o podanym identyfikatorze

Takie podejście działałoby wyjątkowo dobrze, jeśli używasz relacyjnej bazy danych, ponieważ operacje na /chats/:id/members będą mapować bezpośrednio do tabeli połączeń.

0
timmcca-be 5 listopad 2018, 02:41