Documentation

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:jvx:common:util:rest [2019/03/13 09:11]
admin
de:jvx:common:util:rest [2022/11/17 11:12] (current)
admin
Line 40: Line 40:
   * [[#​anmeldung_testen|Anmeldung testen]]   * [[#​anmeldung_testen|Anmeldung testen]]
   * [[#​passwort_aendern|Passwort ändern]]   * [[#​passwort_aendern|Passwort ändern]]
 +  * [[#​datenbank_pruefen|Datenbank prüfen]]
  
 === Anmeldung testen === === Anmeldung testen ===
  
-Anmeldung testen:\\  +Test URL:\\  
-''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​**<​fc #​BF0000>​LIFECYCLE_CLASS</​fc>​**/​_admin/​**<​fc #​BF0000>​testAuthentication</​fc>​**''​ \\ +''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​testAuthentication</​fc>​**''​ \\ 
 oder \\  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>​**''​+''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​testAuthentication</​fc>​**/​**<​fc #​BF0000>​parameter</​fc>​**''​
  
 Der Request benötigt eine HashMap im JSON Format. Der Request benötigt eine HashMap im JSON Format.
Line 66: Line 67:
 === Passwort ändern === === Passwort ändern ===
  
-Anmeldung testen:\\  +Test URL:\\  
-''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​**<​fc #​BF0000>​LIFECYCLE_CLASS</​fc>​**/​_admin/​**<​fc #​BF0000>​changePassword</​fc>​**''​ \\ +''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​changePassword</​fc>​**''​ \\ 
 oder \\  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>​**''​+''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​changePassword</​fc>​**/​**<​fc #​BF0000>​parameter</​fc>​**''​
  
 Der Request benötigt eine HashMap im JSON Format. Der Request benötigt eine HashMap im JSON Format.
Line 87: Line 88:
  
 Wenn das Passwort geändert wurde, wird kein Response generiert und der Status Code ist 204 (SUCCESS_NO_CONTENT). Wenn das Passwort geändert wurde, wird kein Response generiert und der Status Code ist 204 (SUCCESS_NO_CONTENT).
 +
 +=== Datenbank prüfen ===
 +
 +Test URL:​\\ ​
 +''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​checkDB</​fc>​**''​
 +
 +== GET-Response ==
 +
 +Wenn die Prüfung erfolgreich war, wird kein Response generiert und der Status Code ist 204 (SUCCESS_NO_CONTENT). Wenn die Datenbank nicht verfügbar ist, wird der Status Code 500 (SERVER_ERROR_INTERNAL) geliefert. Es ist ebenfalls möglich das die Konfiguration nicht gefunden werden konnte. In diesem Fall wird der Status Code 503 (SERVER_ERROR_SERVICE_UNAVAILABLE) geliefert.
  
 === Benutzerdefinierte Dienste === === Benutzerdefinierte Dienste ===
Line 93: Line 103:
  
 <code java> <code java>
-AdminService.register(String pApplicationName,​ String pAction, ​IAdminServiceDelegate ​pDelegate);​ +UserService.register(String pApplicationName,​ String pAction, ​ICustomServiceDelegate ​pDelegate);​ 
-AdminService.unregister(String pApplicationName,​ String pAction, Class<? extends IAdminServiceDelegate>​ pClass)+UserService.unregister(String pApplicationName,​ String pAction);
 </​code>​ </​code>​
  
-erfolgen. Der Dienst kann entweder per GET oder POST Request angesprochen werden, je nachdem ob **//IAdminServiceGetDelegate//** oder **//IAdminServicePostDelegate//** verwendet wird.+erfolgen. Der Dienst kann entweder per GET oder POST Request angesprochen werden, je nachdem ob **//IACustomServiceGetDelegate//** oder **//IACustomServicePostDelegate//** verwendet wird.
  
 Der Aufruf erfolgt mittels: 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>​**''​ \\ +''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​ACTION</​fc>​**''​ \\ 
 oder \\  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>​**''​+''<​nowiki>​http://​server:​port/​webapp/​services/​rest/</​nowiki>​**<​fc #​BF0000>​APPLICATION_NAME</​fc>​**/​_admin/​**<​fc #​BF0000>​ACTION</​fc>​**/​**<​fc #​BF0000>​parameter</​fc>​**''​
  
 ==== Storage Zugriff ​ (CRUD, Meta Data) ==== ==== Storage Zugriff ​ (CRUD, Meta Data) ====
Line 465: Line 475:
  
 curl_close($ch);​ curl_close($ch);​
 +</​file>​
 +
 +Mittels Javascript:
 +
 +<file html rest.html>​
 +<​html>​
 +<​head>​
 +<​script>​
 +function doRest() {
 +    const http = new XMLHttpRequest();​
 +    const url='​https://<​server>/​DB/​services/​rest/​League/​Standings/​action/​getResults';​
 +
 +    http.open("​POST",​ url, true, '​user',​ '​password'​);​
 +    http.withCredentials = true;
 +    http.send("​[88]"​);​
 +
 +    http.onreadystatechange=(e)=>​
 +    {
 + if (http.readyState == 4)
 + {
 +     console.log(atob(eval(http.responseText)));​
 + }
 +    }
 +}
 +</​script>​
 +</​head>​
 +<​body>​
 +<button type="​button"​ onclick="​doRest()">​REST call</​button>​
 +</​body>​
 +</​html>​
 </​file>​ </​file>​
  
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information