On 13.02.2014, at 13:44, Tommaso Teofili <tommaso.teof...@gmail.com> wrote:

> I personally prefer the granular one as it's more resource oriented, which
> makes more sense in my opinion for an HTTP API (be it REST or not)

Regarding REST: It is closer to REST only once you send out links to the 
various options/commands.

If the client needs to build the request itself and has to know URL patterns or 
other headers or payload paths, it misses the hypermedia constraint.

So in itself, there is no real difference between granular and flatten in the 
proposal:

POST /system/replication/agent/{agentName}/replicate

and

POST /system/replication/all/replicate
{
"agents" : [ "publish1", "publish2" ]
// ....
}

However, the granular one has the advantage that you can more easily do the 
linking, for example using standard <form> and hrefs.

Basically, if you can browse it with some simple HTML pages and do everything 
(find all agents, look at agent state, clear queue, import package etc.), then 
this is good.

Just my 2 cents
Alex

Reply via email to