2016-04-20 5 views
3

Ich studiere Laravel REST, aber vielleicht beschränkt sich das nicht nur auf Laravel.Wie man Code-Duplizierung bei Versionierungs-API verwaltet?

Durch das Lesen von Artikeln und Fragen wie Laravel RESTful API versioning Design oder How to organize different versioned REST API controllers in Laravel 4? (und viele andere) bekommen Sie das Konzept, dass es sehr wichtig ist, eine API zu versionieren, wenn Sie eine erstellen.

Aber es scheint mir, dass es viel lästig sein kann verschiedene Versionen Ihrer API mit der Trennung von Ordnern

/app 
    /controllers 
    /Api 
     /v1 
     /UserController.php 
     /v2 
     /UserController.php 

aus einer nahen Zukunft der Suche zu verwalten, ich leicht vorstellen kann 30 Dateien auf v1 mit und 40 Dateien bei v2, zum Beispiel wo etwa 20 ~ 25 Dateien identisch sein könnten. Bringt das nicht mehr Probleme als Lösung?

+0

Haben Sie eine Lösung dafür gefunden? –

+0

@JoseFrancis nicht ganz. Ich habe keine API mit mehreren Versionen entwickelt, aber ich bin jetzt mit Laravel vertraut genug, um zu wissen, dass, wenn das Geschäft zwei Versionen des gleichen Controllers benötigt, es nicht schlecht ist, es einfach zu haben. Sie können dann umgestalten und versuchen, so viel doppelten Code wie möglich zu einem gemeinsamen Service/Gateway zu übertragen, der über Laravel IoC injiziert wird. –

Antwort

0

Wenn die Änderungen groß genug sind, werden sie wahrscheinlich einen neuen Controller rechtfertigen. Wenn nicht, könnten Sie die Versionsnummer an die Controller-Instanz übergeben und an denselben Controller weiterleiten. Verwenden Sie dann diese Nummer, um das Verhalten zu ändern.

Verwandte Themen