2016-04-20 10 views
0

Ich bin neu in der Backend-Entwicklung. Ich habe schreiben bereits die API Benutzerinformationen zu aktualisieren, dessen Antrags Körper wie diese -Welcher Ansatz ist geeignet, um ein Pflichtfeld im Frontend oder Backend zu validieren?

{ 
    "id": 26, 
    "email": "[email protected]", 
    "firstName": "Tommy", 
    "lastName": "Richards", 
    "photoUrl": null, 
    "userAddress": [ 
     { 
      "id": 8, 
      "type": "home", 
      "addressLine1": "DP Road", 
      "addressLine2": "Main Street", 
      "city": "Los Angel", 
      "state": "CA", 
      "country": "USA", 
      "postalCode":915890 
     }, 
     { 
      "id": 25, 
      "type": "office", 
      "addressLine1": "Dr Red Road", 
      "addressLine2": null, 
      "city": "SA", 
      "state": "CA", 
      "country": "USA", 
      "postalCode":918950 
     } 
    ] 
} 

Wo idealerweise den Adresstyp [in meinem Fall zu Hause oder im Büro] bestätigen sollte vor Ende [Website oder Telefon] oder zurück Ende [Serverseite] oder beide Seiten? Was ist ein guter Ansatz, um den Adresstyp zu validieren? Wenn wir es auf der Backend-Seite validieren, was zu Performance-Problemen führt?

Hinweis - Wenn der Entwickler eine Zeichenfolge übergibt, wird der Adresstyp der gleichen Passtrange im DB erstellt.

+1

IMMER die vom Benutzer eingegebenen Daten auf dem Server bereinigen und validieren. Jede Front-End-Validierung dient lediglich der Verbesserung der Benutzerfreundlichkeit. Die meisten Websites, die Sie gerne verwenden, validieren Daten auf der Vorderseite und dann wieder, nachdem sie den Server erreicht haben. – WillardSolutions

Antwort

0

Gründe Front-End-Validierung: Validierung auf dem Server, Benutzer hat für die Antwort bei der ungültigen Daten zu warten.

Backend-Validierung: Um sicherzustellen, dass die Daten vom Eindringling nicht verändert werden können.

Validieren @ database Ende: Wie Mongoose bieten die integrierte und benutzerdefinierte Validierung.

Gemäß der Anforderung müssen wir die Daten vor der Aktualisierung des Benutzerprofils überprüfen.

1

Es ist ein guter Ansatz für das Back-End zu validieren alles, was es von jeder Web-Anfrage bekommt, wie Sie nicht sagen können, ob es eine gute Anfrage von Ihrer Website oder einer anderen Quelle kommt (vielleicht sogar einige bösartige Angriffe). Das Back-End muss sich selbst schützen und validiert alles, was es bekommt.

Obendrein ist es in einigen (wenn nicht allen) Fällen gut, einige Validierungen auf der Frontend-Seite zu machen, ein Grund ist, dass wenn Sie eine Anfrage haben, dass Sie wissen, dass das Backend fehlschlägt- sparen Sie sich die Mühe und überprüfen Sie es, bevor Sie eine teure Anfrage tun

+0

Wenn wir den Adresstyp am Backend validieren, was zu Performance-Problemen führt oder mehr Zeit für die Antwort benötigt? –

+0

Es wird, aber das kann eine sehr schnelle Validierung sein. Auf der anderen Seite, nicht validieren und erhalten einen Fehler beim Einfügen in db kann langsamer sein (ganz zu schweigen von der Möglichkeit, schlechte nicht validierte Daten in die Datenbank einfügen) –

+0

danke für den Vorschlag. Ich werde das definitiv verbessern. Gibt es eine Standarddokumentation oder ein Standardbuch, um eine leistungsfähige und gute API und ein Backend zu entwickeln? Wenn überhaupt, bitte führen. Nochmals vielen Dank für Ihren wertvollen Vorschlag. –

Verwandte Themen