Was bedeutet es, etwas „bloßzustellen“?

18

Ich arbeite gerade an der Erstellung einer Google App Engine-Anwendung und bin einige Male auf den Begriff "Expose" gestoßen, z REST API ". Was bedeutet "aussetzen"? Gibt es eine bestimmte Handlung, die damit verbunden ist, oder ist es ein abstrakter Teil des Designs?

Leicht verblüfft
quelle

Antworten:

16

Dies bedeutet, dass Sie den Zugriff auf Objekte auf verschiedene Arten ermöglichen. In Ihren Beispielen können Sie den Benutzern das Erstellen, Lesen, Aktualisieren oder Löschen von Objekten (in der Regel mit CRUD abgekürzt) mithilfe des HTTP-Protokolls über eine vordefinierte Methode zur Interaktion mit Ihren Objekten (eine API ) ermöglichen.

Diese API kann sich an eine Reihe von Regeln halten - z. B. verwenden RESTful- APIs HTTP-Verben , um bestimmte Aktionen an Objekten auszuführen, und sie halten sich an einige Prinzipien , die festlegen, wie Ressourcen identifiziert / dargestellt werden sollen und wie sie durch diese Darstellungen manipuliert werden sollen.

Nehmen wir an, Sie haben im Kontext einer Webanwendung Blogeinträge in Ihrer Datenbank gespeichert. Sie möchten, dass die Benutzer Ihrer Anwendung mit diesen Posts etwas anfangen können. Sie müssen nicht unbedingt Ihre Website verwenden , sondern können auch eine eigene Anwendung verwenden, die eine Verbindung zu Ihrer Anwendung herstellt (z. B. ein Blog-Reader-Programm).

Als Eigentümer Ihrer Anwendung können Sie eine Schnittstelle definieren , über die auf Ihre Anwendung zugegriffen werden kann. Beispielsweise möchten Sie möglicherweise eine Option hinzufügen, mit der einige Benutzer Blogeinträge lesen oder schreiben können. Die Oberfläche könnte ungefähr so ​​aussehen (ein Beispiel für eine komplexere API finden Sie in der API-Definition von Twitter ):

  • Wenn in GET /posts/{number} HTTP/1.1Ihrer Webanwendung eine angefordert wird, stellen Sie eine Darstellung Ihres Post-Objekts mit einer ID {number}in einem vordefinierten Format bereit

Beachten Sie, dass Sie weder ein tatsächliches Datenbankobjekt noch Ihr Anwendungsobjekt bereitstellen. Sie geben eine Darstellung Ihres Objekts

  • Wenn ein POST /posts HTTP/1.1mit einem title={text1}&body={text2}in Ihrer Webanwendung veröffentlicht wird, erstellen Sie ein neues Veröffentlichungsobjekt mit {text1}dem Titel , das den Inhalt des Objekts enthält {text2}, und geben einen ID-Wert für die neu erstellte Veröffentlichung zurück

Auch hier gestatten Sie dem Benutzer die Manipulation von Darstellungen Ihrer Objekte. Der Benutzer muss nicht wissen, wie Ihre Objekte tatsächlich aussehen (dies wird durch die Benutzeroberfläche vom Benutzer abstrahiert ).

Durch das Anzeigen des Objekts erhält der Benutzer eine Benutzeroberfläche, über die er auf Ihre Objekte zugreifen und diese bearbeiten kann. Wenn diese Schnittstelle einige zusätzliche vordefinierte Bedingungen hinsichtlich der Repräsentation des Objekts und der Zustände der Anwendung erfüllt, die ihre Objekte verfügbar macht, wird diese Schnittstelle als REST-API (oder RESTful-API) bezeichnet.

ipavlic
quelle
19

"Expose" bedeutet hier, was es in regulärem Englisch bedeutet - gewähren Sie Zugang, wo sonst kein Zugang verfügbar wäre.

Zum Beispiel bedeutet "Ihre erste App kann Objekte mithilfe einer HTTP-basierten API verfügbar machen", dass jemand auf einem anderen Computer Ihr Objekt auf Ihrem Computer manipulieren kann, indem er nach den richtigen Webseiten fragt.

btilly
quelle