Difference between revisions of "Integration/REST"
Jump to navigation
Jump to search
old>Tvi |
m (→Version 2 (Json): Swagger UI) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction to the REST interface == | == Introduction to the REST interface == | ||
The rest interface has two versions. | |||
* v1, XML-version (default) | |||
* v2, JSON-version | |||
== Version 1 (XML) == | |||
This article has not yet been fully converted to Wiki format. | This article has not yet been fully converted to Wiki format. | ||
Please download the original article: [http://www.tempusserva.dk/articlebase/Tempus%20Serva%20REST%20interface.pdf Tempus Serva REST interface.pdf] | Please download the original article: [http://www.tempusserva.dk/articlebase/Tempus%20Serva%20REST%20interface.pdf Tempus Serva REST interface.pdf] | ||
=== Netbeans quick start guide === | |||
== Netbeans quick start guide == | |||
Steps to create a simple interaction | Steps to create a simple interaction | ||
Line 60: | Line 67: | ||
//Close connection | //Close connection | ||
session.close(); | session.close(); | ||
</syntaxhighlight> | |||
== Version 2 (Json) == | |||
Download the swagger file from: | |||
<syntaxhighlight lang="ini"> | |||
https://<server>/<application>/rest/v2/swagger.json | |||
</syntaxhighlight> | |||
You can browse and try the api, using the built in SwaggerUI (from version 9147): | |||
<syntaxhighlight lang="ini"> | |||
https://<server>/<application>/rest/v2/swagger | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 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 | ||
Data list operations: GET, PUT | Data list operations: GET, PUT, POST | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Data item operations: GET, POST | Data item operations: GET, PUT, POST, DELETE | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
File list operations: PUT, POST | |||
File | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/ | |||
</syntaxhighlight> | |||
File item operations: GET, PUT, POST, DELETE | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/<entity>/<DataID>/<FieldName>/<FileName> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Executing codeunit === | |||
Operations: GET, PUT, POST, DELETE | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
http(s)://<server>/<application>/rest/<version>/codeunit/<codeunitName> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Query parameters === | |||
The REST API supports the same filtering and search parameters, as the list-command [[Integration/Content_source]]. |
Latest revision as of 13:04, 30 May 2024
Introduction to the REST interface
The rest interface has two versions.
- v1, XML-version (default)
- v2, JSON-version
Version 1 (XML)
This article has not yet been fully converted to Wiki format.
Please download the original article: Tempus Serva REST interface.pdf
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 browse and try the api, using the built in SwaggerUI (from version 9147):
https://<server>/<application>/rest/v2/swagger
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.