Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
de:jvx:common:util:rest [2019/03/05 08:57] admin |
de:jvx:common:util:rest [2019/03/13 09:03] admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~Title: REST Service~~ | + | ~~Title: REST Dienste~~ |
Wir definieren die Business Logik mit [[de:jvx:server:lco:objects|Life-Cycle Objekten]] am Server. Die Zugriffsberechtigung einer Applikation wird durch einen [[de:jvx:server:security:manager|Security Manager]]geprüft. Der Zugriff auf die Business Logik erfolgt üblicherweise via Master- oder SubConnections vom Client. | Wir definieren die Business Logik mit [[de:jvx:server:lco:objects|Life-Cycle Objekten]] am Server. Die Zugriffsberechtigung einer Applikation wird durch einen [[de:jvx:server:security:manager|Security Manager]]geprüft. Der Zugriff auf die Business Logik erfolgt üblicherweise via Master- oder SubConnections vom Client. | ||
Line 30: | Line 30: | ||
Mit dieser Konfiguration stehen folgende Services zur Verfügung: | Mit dieser Konfiguration stehen folgende Services zur Verfügung: | ||
- | ===== Verfügbare Services ===== | + | ===== Verfügbare Dienste ===== |
- | ====Storage Zugriff (CRUD, Meta Data)==== | + | ==== Administration ==== |
+ | |||
+ | Für die Administration stehen unterschiedliche Dienste zur Verfügung. Diese können im Standardfall nur mittels POST Requests verwendet werden. Falls jedoch benutzerdefinierte Admin-Dienste registriert wurden, können diese auch mittels GET Request angesprochen werden. | ||
+ | |||
+ | Folgende Dienste stehen standardmässig zur Verfügung: | ||
+ | |||
+ | * [[#anmeldung_testen|Anmeldung testen]] | ||
+ | * [[#passwort_aendern|Passwort ändern]] | ||
+ | |||
+ | === Anmeldung testen === | ||
+ | |||
+ | Anmeldung testen:\\ | ||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>testAuthentication</fc>**'' \\ | ||
+ | oder \\ | ||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>testAuthentication</fc>**/**<fc #BF0000>parameter</fc>**'' | ||
+ | |||
+ | Der Request benötigt eine HashMap im JSON Format. | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | <file json> | ||
+ | { "username" : "admin", | ||
+ | "password" : "adminpassword" | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | Der Benutzername kann auch weggelassen werden. In diesem Fall wird dann der Parameter aus dem URL als Benutzername verwendet. | ||
+ | |||
+ | == POST-Response == | ||
+ | |||
+ | Wenn die Anmeldung erfolgreich war, wird kein Response generiert und der Status Code ist 204 (SUCCESS_NO_CONTENT). | ||
+ | |||
+ | === Passwort ändern === | ||
+ | |||
+ | Anmeldung testen:\\ | ||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>changePassword</fc>**'' \\ | ||
+ | oder \\ | ||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>changePassword</fc>**/**<fc #BF0000>parameter</fc>**'' | ||
+ | |||
+ | Der Request benötigt eine HashMap im JSON Format. | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | <file json> | ||
+ | { "username" : "admin", | ||
+ | "oldpassword" : "oldpassword", | ||
+ | "newpassword" : "newpassword" | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | Der Benutzername kann auch weggelassen werden. In diesem Fall wird dann der Parameter aus dem URL als Benutzername verwendet. | ||
+ | |||
+ | == POST-Response == | ||
+ | |||
+ | Wenn das Passwort geändert wurde, wird kein Response generiert und der Status Code ist 204 (SUCCESS_NO_CONTENT). | ||
+ | |||
+ | === Benutzerdefinierte Dienste === | ||
+ | |||
+ | Wenn man einen eigenen Dienst zur Laufzeit registrieren möchte, kann dies mittels | ||
+ | |||
+ | <code java> | ||
+ | AdminService.register(String pApplicationName, String pAction, IAdminServiceDelegate pDelegate); | ||
+ | AdminService.unregister(String pApplicationName, String pAction, Class<? extends IAdminServiceDelegate> pClass) | ||
+ | </code> | ||
+ | |||
+ | erfolgen. Der Dienst kann entweder per GET oder POST Request angesprochen werden, je nachdem ob **//IAdminServiceGetDelegate//** oder **//IAdminServicePostDelegate//** verwendet wird. | ||
+ | |||
+ | Der Aufruf erfolgt mittels: | ||
+ | |||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>ACTION</fc>**'' \\ | ||
+ | oder \\ | ||
+ | ''<nowiki>http://server:port/webapp/services/rest/</nowiki>**<fc #BF0000>APPLICATION_NAME</fc>**/**<fc #BF0000>LIFECYCLE_CLASS</fc>**/_admin/**<fc #BF0000>ACTION</fc>**/**<fc #BF0000>parameter</fc>**'' | ||
+ | |||
+ | ==== Storage Zugriff (CRUD, Meta Data) ==== | ||
* [[#get-request_select|Select]] | * [[#get-request_select|Select]] |