API für die Chat-Anwendung für den DogeCodes React-Kurs.
Dies ist ein einfacher API-Server, der eine Logik implementiert, die zur korrekten Funktion der DogeCodes React Chat-Anwendung erforderlich ist.
Um diesen Server lokal ausführen zu können, müssen Sie folgende Voraussetzungen erfüllen:
Verwenden Sie die folgenden Befehle, um diesen API-Server lokal auszuführen:
git clone https://github.com/dogecodes/react-chat-api.git
cd react-chat-api
npm install
npm run start:dev # or `npm start` for production
Hinweis: Vergessen Sie nicht, mongod
für die Verbindung zur Datenbank zu starten.
Die aktuelle API-Version ist v1
, daher müssen Sie vor jeder Route die API-Version angeben. Zum Beispiel:
http://localhost:8000/v1/users/me
http://localhost:8000/v1/chats
Hier ist die Karte der HTTP-Routen der API:
/
– Routen im Zusammenhang mit der Authentifizierung./signup
POST – neuen Benutzer mit username
und password
erstellen./login
POST – Benutzer mit username
und password
anmelden./logout
GET – aktiven Benutzer abmelden./users
– Routen im Zusammenhang mit Benutzern./users
GET – Daten über alle Benutzer abrufen./users/me
GET – meine Benutzerdaten abrufen./users/me
POST – aktualisiere die Informationen meines Benutzers ( username
, firstName
, lastName
und city
)./users/:id
GET – Informationen über den Benutzer mit einer bestimmten :id
abrufen./chats
– Routen im Zusammenhang mit Chats./chats
GET – Informationen zu allen Chats abrufen./chats
POST – neuen Chat mit angegebenem title
erstellen./chats/my
GET – Liste aller Chats aller Benutzer abrufen./chats/:id
GET – Chat-Informationen mit Nachrichten nach bestimmten Chat- :id
abrufen./chats/:id
POST – Neue Nachricht senden, um mit einer bestimmten :id
zu chatten./chast/:id
DELETE – Chat mit bestimmter :id
löschen. Nur der Ersteller des Chats kann ihn löschen./chats/:id/join
GET – Treten Sie dem Chat mit einer bestimmten :id
bei./chats/:id/leave
GET – Chat mit einer bestimmten :id
verlassen.Wenn Sie Insomnia zum Debuggen von APIs verwenden, können Sie ein Workspace-Backup herunterladen:
Laden Sie .zip herunter
Diese API gibt auch einige socket.io-Ereignisse aus und lauscht diese.
Die Sockets-Verbindung erfordert eine Authentifizierung mit Zugriffstoken. Hier ist ein Beispiel für den Aufbau einer Socket-Verbindung:
import SocketIOClient from 'socket.io-client' ;
socket = SocketIOClient ( 'path/to/api' , {
query : {
token : '...your access-token here...' ,
} ,
} ) ;
Hier ist die Liste der Veranstaltungen:
new-message
– wird ausgegeben, wenn jemand eine neue Nachricht an einen bestimmten Chat sendet.new-chat
– wird ausgegeben, wenn jemand einen neuen Chat erstellt.deleted-chat
– wird ausgegeben, wenn jemand einen Chat löscht. connection
– Verbindung des socket.io-Clients.mount-chat
– Mounten eines Clients zum Abhören von Nachrichten im Chat mit einer bestimmten :chatId
.unmount-chat
– Deaktivieren Sie die Überwachung eines Clients auf Nachrichten im Chat mit einer bestimmten :chatId
.send-message
– Senden Sie eine Nachricht mit content
zum Chatten MIT © Denys Dovhan