2016-08-04 45 views
0

Wir verwenden die folgenden URL-Konventionen für die Rest-API-Entwicklung, benötigen jedoch Vorschläge zur Erstellung von Richtlinien für Boolean- und Resolver-Methoden.Boolean und Resolver-API-Methode URL-Konventionen

Die unten ist die URL wir für die Employee-Entität verwenden:

  1. Mitarbeiter erstellen - POST/Mitarbeiter
  2. Update-Mitarbeiter - PUT/Mitarbeiter/{id}
  3. Löschen Mitarbeiter - Löschen/Mitarbeiter/{id} 4.Read Mitarbeiter - GET/Mitarbeiter/{id}

  4. Finden XXX -get/Mitarbeiter (Query Params)

  5. ResolveXXX - Wie lautet die URL?
  6. isValidEmployee -was sollte die URL sein?

Antwort

0
  1. ResolveXXX

Das klingt wie Sie den Zustand dieser XXX Ressource sind zu ändern, also würde ich für einen PUT gehen

  1. isValidEmployee

Sie könnten einfach eine boolesche IsValid-Eigenschaft für das Employee-Modell haben und den Client das Modell abfragen lassen und dann die Eigenschaft

+0

überprüfen. Resolver ändert den Status nicht. Es ist mehr wie Finder-Methoden. Anstatt null zurückzugeben, wird ein Fehler ausgegeben, wenn eine Entität nicht gefunden wird. Für boolesche Methoden könnte ich eine Methode wie isValidEmplyeeByDeptId, IsvalidEmployeeForSlary wie weise isValidEmployeeXXX haben. Also könnte ich 'n' Anzahl von booleschen Methoden haben. –

+0

Resolver ändert den Status nicht. Es ist mehr wie Finder-Methoden. Anstatt null zurückzugeben, wird ein Fehler ausgegeben, wenn eine Entität nicht gefunden wird. Für boolesche Methoden könnte ich eine Methode wie isValidEmplyeeByDeptId, IsvalidEmployeeForSlary wie weise isValidEmployeeXXX haben. Also könnte ich 'n' Anzahl von booleschen Methoden haben. Die Crux hier ist, dass der Client die employeeId kennt und er eine Reihe boolescher Methoden abfeuern möchte. –

+0

Sie denken sehr SOAP, Sie müssen dies ändern, wenn Sie [REST] (http://martinfowler.com/articles/richardsonMaturityModel.html) in Bezug auf Ressourcen, Verben & http erreichen wollen Statuscodes anstelle von Methoden; Daher klingt Resolver wie ein GET, das 404 nicht gefunden zurückgibt, anstatt einen Fehler zu werfen, während Sie für die Validierung einfach eine andere Eigenschaft (neben der IsValid-Eigenschaft) zurückgeben könnten, wie ein Array mit den _invalid_-Eigenschaften –