Difference between revisions of "REST API:exec Resource"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric m (Text replace - '<tt><nowiki>https://{domain}/networking' to '<tt>{{platformURL}}') |
||
Line 19: | Line 19: | ||
;Method:POST | ;Method:POST | ||
;URI:<tt> | ;URI:<tt>{{platformURL}}/rest/class/operation/exec</nowiki></tt> | ||
;Request: | ;Request: |
Revision as of 20:58, 30 March 2012
Provides the ability to execute a class method using the REST API.
- Considerations
-
- A Class must be defined. (The exec resource invokes a method in the class.)
- An instance of the class is created automatically, so the method need not be static.
- Signatures:
- The method must be public
- The method can either take no arguments: public methodName()
- Or it take arguments passed in a Map: public methodName(Map params)
(Parameters passed in the Request are wrapped in a Map, and passed to the method.)
- Signatures:
- Return Types:
- A method may return void.
- If the return type is a Map, it can be used to return key-value pairs.
- Otherwise the return value is automatically converted to a string using result.toString()
- Return Types:
- Method
- POST
- URI
- https://{yourDomain}/networking/rest/class/operation/exec</nowiki>
- Request
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<execClass> <clazz>fully.qualified.JavaClassName</clazz> <method>methodName</method> ...optional list of parameter tags, like these:... <firstName>Peter</firstName> <lastName>Smith</lastname> </execClass>
</platform> </syntaxhighlight>
- Response
- The output structure is the same, except that the key/value pairs are those returned by the class method, when the return value is a Map. When the return value is converted to a string, the response looks like this:
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<execClass>
<result>...result-string here...</result>
</execClass>
<message>
0
<description>Success</description>
</message>
</platform> </syntaxhighlight>
- Known issue
- Null return values are not handled at this time.