On 28 March 2014 10:52, Ged Byrne <[email protected]> wrote:

> Makes sense.  So you just have the primitive operations Create, Read,
> Update, Delete, Associate and Disassociate with a separate call for each?
>
>
>

Kind of.

The RO spec maps the HTTP verbs to the elements of the metamodel.  This is
mostly CRUD, but there's also action invocation.

For an object, we have GET and PUT (and optionally DELETE, but not
supported in Isis)
For an object property, we have GET, PUT (ie set) and DELETE (ie clear)
For an object collection, we have GET, PUT (if a set, to add a reference),
POST (if a list, to add a reference) and DELETE (remove a reference)
For an object action "prompt", we have GET
For an object action invocation, we have GET (if query-only/safe
semantics), PUT (if idempotent), POST (if non-idempotent).

This in the RO v1.0 spec sect 2.3, I've also copied to our wiki [1]

So, these are the basic interactions. Obviously an arbitrarily large amount
of work can be done in an action invocation, but all of these most conform
to the uniform interface inferred from the underlying domain objects.

HTH
Dan


[1]
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=40506547

Reply via email to