Difference between revisions of "Integration/REST"
Jump to navigation
Jump to search
(Notet version changes and new endpoints) |
(Info about v2) |
||
Line 1: | Line 1: | ||
== Introduction to the REST interface == | == Introduction to the REST interface == | ||
This article has not yet been fully converted to Wiki format. | This article has not yet been fully converted to Wiki format. | ||
Line 9: | Line 10: | ||
== Version 1 == | == Version 1 (XML) == | ||
=== Netbeans quick start guide === | === Netbeans quick start guide === | ||
Line 67: | Line 68: | ||
session.close(); | session.close(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Version 2 (Json) == | |||
Download the swagger file from: | |||
<syntaxhighlight lang="ini"> | |||
https://<server>/<application>/rest/v2/swagger.json | |||
</syntaxhighlight> | |||
You can upload the content to this site to browse it: [https://editor.swagger.io/ SwaggerIO Editor] | |||
== URL structure == | == URL structure == | ||
When logged in the following URLs are available without further authentication | When logged in the following URLs are available without further authentication | ||
Line 74: | Line 88: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 80: | Line 94: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
File list operations: PUT, POST | File list operations: PUT, POST | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 94: | Line 106: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/<FileName> | |||
</syntaxhighlight> | |||
=== Executing codeunit === | |||
Operations: GET, PUT, POST, DELETE | |||
<syntaxhighlight lang="ini"> | |||
http(s)://<server>/<application>/rest/<version>/codeunit/<codeunitName> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 13:38, 13 May 2024
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 (XML)
Netbeans quick start guide
Steps to create a simple interaction
- Add Webservice to ide (wadl import)
- URL: [ServerName]/[ApplicationName]/rest/[SolutionSystemName].wadl
- If import causes trouble: Download the wadl file
- Create a new project
- Add REST Client to project
- Point to newly created webservice: [SolutionSystemName]
- Add JAXB bindings to project (use XSD schema)
- URL: [ServerName]/[ApplicationName]/rest/[SolutionSystemName].xsd
- If import causes trouble: Download the xsd file
- Add REST Client to project
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();
Version 2 (Json)
Download the swagger file from:
https://<server>/<application>/rest/v2/swagger.json
You can upload the content to this site to browse it: SwaggerIO Editor
URL structure
When logged in the following URLs are available without further authentication
Data list operations: GET, PUT, POST
http(s)://<server>/<application>/rest/<version>/<entity>
Data item operations: GET, PUT, POST, DELETE
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>
File list operations: PUT, POST
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/
File item operations: GET, PUT, POST, DELETE
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/<FileName>
Executing codeunit
Operations: GET, PUT, POST, DELETE
http(s)://<server>/<application>/rest/<version>/codeunit/<codeunitName>
Query parameters
The REST API supports the same filtering and search parameters, as the list-command Integration/Content_source.