Ich mache meine erste angular2 App.Welche Art von JSON sollte von dem Server im Falle eines Fehlers in angular2 zurückkehren
Es wird Login-Verifizierung vom Server. Es sendet Benutzername (E-Mail) und Passwort an den Server und im Gegenzug erhält es das USER OBJECT.
user.ts
export class User {
constructor(
public id: number,
public email: string,
public password: string,
public token: string,
public firstName: string,
public lastName: string,
public lastLogin: number,
public credits: number,
public isAdmin: number
) { }
}
Erfolg json
{"id":2,"email":"[email protected]","password": "", "token":"37ee4a596d443aaf0308c0783bfdcf83","firstName":"John","lastName":"Doe","lastLogin":1486994085,"credits":0,"isAdmin":0}
Fehlermeldungen
{"code":"empty","error":"Password is empty"}
{"code":"auth-failed","error":"Login information not correct"}
{"code":"auth-failed","error":"Invalid id\/token, please login again"}
Nun, wenn ging mein zu programmieren Fehlermeldungen es hat mich
denkenMein Code ist dies, wie werde ich Fehler in der angular2
return this.http.get(url)
.map(response => response.json() as User)
.catch(this.handleError);
Griff Ich glaube, ich kann nicht die response.json() als Benutzer Ursache es benutzen werden Crash-App im Falle eines Fehlers. Was ist die beste Praxis? Sollte ich mein JSON-Format auch für den Erfolg ändern?
Welchen empfehlen Sie neben Status 200. https://en.wikipedia.org/wiki/List_of_HTTP_status_codes ** 401 Status ist gut **? – Sallu
401 ist der allgemeine verwendete Code. Beachten Sie, dass die Regeln um 401 sagen, dass Sie einen WWW-Authenticate-Header mit einigen grundlegenden Informationen bereitstellen müssen, obwohl dies wahrscheinlich übersprungen werden kann, wenn Sie nur in einer Lern-/Proof-of-Concept-Übung sind. Sie können ein Beispiel für diesen Header hier sehen: https://en.wikipedia.org/wiki/Basic_access_authentication –
welchen Statuscode werden Sie normalerweise verwenden, wenn Sie ** nicht ** senden 200 ...? – Sallu