2013-05-29 18 views
7

Ich würde gerne Erfahrungen von Ihnen hören? Wie kann ich am besten eine API zum Abrufen von Daten aus einer Datenbank erstellen? Wenn Sie den Namen der Ansicht oder den Namen der Prozedur senden, wäre das mit der Sicherheit nicht völlig in Ordnung. Ich frage mich, ob jemand Erfahrungen oder Ideen dazu hat?API zum Abrufen/Senden von Daten von/zu einer Datenbank

Sollte ich zum Beispiel ein Feld haben, das angibt, auf was der Benutzer, der die API verbindet, Zugriff hat? Zugriff auf Tabellen und Zeilen.

+0

überprüfen Sie die SAAS-Architektur. – Sebas

+0

welche Sprache? –

+2

Sie können Ihren ganzen Ruf für Kopfgelder ausgeben, aber niemand wird Ihnen antworten können, es sei denn, Sie machen klar, wonach Sie fragen. "Erstellen von API zum Abrufen von Daten aus db" klingt wie neu erfinden das Rad, oder ich verstehe nicht. Beschreibe was du versuchst zu tun. – TMS

Antwort

3

Ich gebe es eine Chance.

Sie haben bereits die Web-API erwähnt, daher nehme ich an, dass Sie das verwenden, was bedeutet, dass Sie eine REST-API auf einer Datenbank haben.

Dinge zu tun:

  1. Kommen Sie mit dem Datenmodell Sie für die Benutzer verfügbar machen möchten auf. Dies wird wahrscheinlich auf verschiedene Arten von Ihrem Datenbankmodell abweichen. Wenn Sie ein Geschäft sind, haben Sie vielleicht 2-3 verschiedene Tabellen, um Produkte zu speichern, aber Sie werden ein "Produkt" mit einem API-Aufruf veröffentlichen wollen.

  2. Sobald Sie mit dem Datenmodell Ihres Benutzers konfrontiert sind, beginnen Sie, Tests zu schreiben. Sie benötigen Komponententests für Ihre Web-API-Controller, und Sie müssen eine Möglichkeit finden, die Datenbankanrufe, die Sie erstellen, zu überspielen. Tests sind lohnt sich der Aufwand!

  3. Zur Sicherheit haben Sie viele Möglichkeiten. Sie können aus Dingen wie HMAC (https://en.wikipedia.org/wiki/Hash-based_message_authentication_code) oder OAuth (Best way to create a TOKEN system to authenticate web service calls?) oder sogar JWT (Secure WebAPI with a JWT) auswählen.

  4. Sobald Sie einen Benutzer authentifiziert haben, können Sie ihnen Berechtigungen zuweisen. Sie können lesen, schreiben und aktualisieren, je nachdem, auf was sie zugreifen können. Sie können eine Datenbanktabelle verwenden, um dies potenziell zu steuern.

  5. Ich würde empfehlen, über die Versionsverwaltung im Voraus zu denken. Meine Empfehlung wäre, immer zwei Versionen Ihrer API zu haben - aktuelle und vorherige. Sie stellen die API bereit, und wenn Sie sie zum ersten Mal ersetzen, unterstützen Sie die veraltete und die neue API. Versuchen Sie nicht, mehr als zwei Versionen zu unterstützen.

  6. Geben Sie Ihr Bestes, um eine Art Schnittstelle zu schreiben, die die Datenbank abstrahiert, bevor Daten über die Web-API gesendet werden. Dadurch können Sie die Datenbank bei Bedarf in Zukunft vollständig austauschen. Es hilft auch Unit-Tests.

Verwandte Themen