2016-08-01 10 views
-2

Dies ist eine allgemeine Frage zur REST-API-Schnittstelle. Ich habe ein Domänenmodell mit Entitäten und Wertobjekten in meiner Anwendung. Derzeit werden dieselben Domänenmodelle aus der REST-Service-Implementierung verwendet, und die REST-Anfrage-/Antwortstruktur hat auch die Referenz dieser Entitäten und Wertobjekte. Ist es sinnvoll, eine separate Objektstruktur für die REST-Ein-/Ausgabe zu haben oder das Request- und Response-Objekt mit internen Domänenobjekten aufzubauen, ist das in Ordnung.REST-API-Schnittstellenrichtlinie

Antwort

0

Wenn es um die REST-API-Schnittstelle geht, spielt es keine Rolle, wie die Anwendungsschicht implementiert wird. Natürlich würde es eine große Überlappung zwischen dem Objektmodell geben, das in der Schnittstellen-, Anwendungs- und Datenschicht verwendet wird. Aber das liegt daran, dass sie das gleiche System funktionell repräsentieren. Die Implementierung der Anwendungsebene darf die API-Schnittstelle selbst nicht beeinflussen.

Die folgende Referenz ist ziemlich umfassend für REST API Design.
https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md

Auch hat Apigee eine, die ziemlich gut ist

https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf

0

Offensichtlich können Sie eine Abstraktionsschicht zwischen Ihren REST-Ressourcenobjekten und dem internen Domänenmodell Ihres Dienstes bereitstellen. Ob dies sinnvoll ist oder nicht, hängt von Ihrem Anwendungsdesign ab. Alles, was ich sagen kann, ist, dass wenn Sie erwarten, dass sich das interne Domänenmodell ändert, aber eine konsistente Ressourcendarstellung über Ihre externe API beibehalten möchte, dann ist es eine gute Idee. Sie könnten jedoch warten, bis eine solche Veränderung eintritt, bevor Sie Zeit investieren, um sie zu abstrahieren.