2008-09-25 12 views
6

Ich war ein langjähriger ASP.NET-Entwickler im Webformular-Modell und nutze ein neues Projekt als eine Gelegenheit, mich mit ASP.NET MVC nass zu machen.Was ist der beste Weg, um eine API in ASP.NET mit MVC zu implementieren?

Die Anwendung benötigt eine API, damit eine Gruppe anderer Apps mit ihr kommunizieren kann. Ich habe APIs immer nur mit einem Standard-Web-Service erstellt.

Als eine Nebenbemerkung, bin ich ein wenig zögerlich, kopfüber in den REST-Stil der Erstellung von APIs zu tauchen, zumindest für diese bestimmte Instanz. Diese Anwendung wird wahrscheinlich ein Konzept der API-Versionsverwaltung benötigen, und ich denke, dass der REST-Ansatz, bei dem die API im Wesentlichen auf alle Controller der Website verteilt ist, in dieser Hinsicht ein wenig umständlich ist. (Aber ich bin nicht völlig dagegen, wenn es eine gute Antwort auf die potenzielle Versionierungspotential Anforderung gibt.)

Also, was sagen Sie, Stack Overflow Bewohner?

Antwort

7

Ich würde Kilhoffer zustimmen. Verwenden Sie eine Wrapper-Klasse "Facade", die von einer "IFacade" erbt. Platzieren Sie in Ihrer Facade-Klasse Ihren Code, um Ihren Web-Service zu nutzen. Auf diese Weise werden Ihre Controller einfach die Fassade anrufen. Die Plus-Seite davon ist, dass Sie eine "DummyFacade" austauschen können, die dieselbe IFacade-Schnittstelle implementiert, die nicht wirklich mit dem Web-Service kommuniziert und nur statischen Inhalt zurückgibt. Ermöglicht es Ihnen, einige Unit-Tests durchzuführen, ohne den Service zu treffen. Grundsätzlich die gleiche Idee wie das Repository-Muster.

+1

Ich stimme zu. Ich würde das mit all Ihren Service-Anwendungen empfehlen. – Kilhoffer

2

Ich würde immer noch eine Service-Schicht empfehlen, die Client-Seite Verbraucher oder serverseitige Verbraucher dienen kann. Möglicherweise werden sogar Daten in verschiedenen Formaten zurückgegeben, abhängig vom Anrufer.

Verwandte Themen