Integration/REST

From TempusServa wiki
Revision as of 11:56, 13 May 2024 by Tvi (talk | contribs) (Notet version changes and new endpoints)
Jump to navigation Jump to search

Introduction to the REST interface

This article has not yet been fully converted to Wiki format.

Please download the original article: Tempus Serva REST interface.pdf

The rest interface has two versions.

  • v1, XML-version (default)
  • v2, JSON-version


Version 1

Netbeans quick start guide

Steps to create a simple interaction

  1. Add Webservice to ide (wadl import)
    • URL: [ServerName]/[ApplicationName]/rest/[SolutionSystemName].wadl
    • If import causes trouble: Download the wadl file
  2. Create a new project
    1. Add REST Client to project
      • Point to newly created webservice: [SolutionSystemName]
    2. Add JAXB bindings to project (use XSD schema)
      • URL: [ServerName]/[ApplicationName]/rest/[SolutionSystemName].xsd
      • If import causes trouble: Download the xsd file


Sample code for list view (BASIC athentication)

//Create session
FirmabilerClient session = new FirmabilerClient();
session.setUsernamePassword("admin", "password1223");

//Set search parameters (first parameter is a dummy)
FirmabilerList result = session.getList(FirmabilerList.class, "", "TITEL=Kasper" );

//Retrieve data and print
List <FirmabilerListItem> list = result.getFirmabilerListItem();
for(int i=0; i<list.size(); i++) {
    //Handle single item
    FirmabilerListItem item = list.get(i);
    System.out.println( item.getDataID() + "\t" + item.getNUMMERPLADE() );
}

//Close connection
session.close();

Sample code for list view (parameter credentials)

//Create session
FirmabilerClient session = new FirmabilerClient();

//Login and set search parameters 
FirmabilerList result = session.getList(FirmabilerList.class, "admin", "password1223", "TITEL=Kasper" );

//Retrieve data and print
List <FirmabilerListItem> list = result.getFirmabilerListItem();
for(int i=0; i<list.size(); i++) {
    //Handle single item
    FirmabilerListItem item = list.get(i);
    System.out.println( item.getDataID() + "\t" + item.getNUMMERPLADE() );
}

//Close connection
session.close();

URL structure

When logged in the following URLs are available without further authentication

Data list operations: GET, PUT, POST

https://<server>/<application>/rest/<version>/<solution>

Data item operations: GET, PUT, POST, DELETE

https://<server>/<application>/rest/<version>/<solution>/<DataID>

Note: The fowllowing file handling endpoints are scheduled for Q2 2020

File list operations: PUT, POST

https://<server>/<application>/rest/<version>/<solution>/<DataID>/<FieldName>/

File item operations: GET, PUT, POST, DELETE

https://<server>/<application>/rest/<version>/<solution>/<DataID>/<FieldName>/<FileName>

Query parameters

The REST API supports the same filtering and search parameters, as the list-command Integration/Content_source.