[rest-practices] Links for actions

David Lutterkort lutter at redhat.com
Thu May 6 23:46:38 UTC 2010


One more issue from Deltacloud Core: right now, when a client gets the
details about an instance, we indicate the possible actions on that
instance like this:

        <actions>
          <link href="/api/instances/inst1/reboot" rel="reboot"/>
          <link href="/api/instances/inst1/stop" rel="stop"/>
          <link href="/api/instances/inst1" rel="destroy"/>
        </actions>
        
The above leaves the client guessing what method to use on the actions,
and contains a little trap: for almost all actions, the method to use is
POST, but for destroy, the client should use the DELETE method, since
they are deleting the server side instance.

You could argue that this issue is caused by using URL's that do not
represent resources; but then I don't know a better way to indicate
actions.

My favored way out of this is to add the method the client should use to
the <link/> tag, e.g.

        <link href="/api/instances/inst1" rel="destroy" method="post"/>
        
Any thoughts on this ?

David





More information about the rest-practices mailing list