[Hawkular-dev] REST ideas

Lukas Krejci lkrejci at redhat.com
Wed Feb 11 09:08:40 EST 2015



----- Original Message -----
> From: "Heiko W.Rupp" <hrupp at redhat.com>
> To: hawkular-dev at lists.jboss.org
> Sent: Wednesday, 11 February, 2015 2:43:00 PM
> Subject: Re: [Hawkular-dev] REST ideas
> 
> 
> > Am 11.02.2015 um 14:23 schrieb Viliam Rockai <vrockai at redhat.com>:
> > 
> > Hi,
> > 
> > I'm looking at hawkular-inventory and I've got several comments (liveoak
> > legacy) which could apply on other rest endpoints, too:
> > 
> > 1. I think it would be easier to use/get if we make it more
> > hierarchical. That means; instead of using two distinct URLs (resources
> > vs. resource) for lists (/hawkular/inventory/rest-test/resources/) and
> > entities (/hawkular/inventory/rest-test/resource/x1422733176502), we use
> > only one (/hawkular/inventory/rest-test/resources/x1422733176502).
> 
> This is a good question/suggestion. I tried to follow the pattern of <foo>S
> for list + creation
> and <foo>/x for identifying individual objects - sort of like in natural
> language.
> 
> 
> 
> > 2. Sometimes, in the docs, attribute called "name" is used, and referred
> > to, as an "id". Would it be possible and make sense to choose just one
> > notation and use it in the representation?
> 
> Yes. I think we may need some more overall cleanup as soon as we know
> more about some terms and semantics we want to use.
> > 
> > 3. Usage of methods: When you want to create a metric, you use the PUT
> > method. What about unifying methods in some commonly used manner. Like
> > post for create, put for edit?
> 

Well, I am actually not so sure here.

For some entities, like tenants themselves or environments, I think
the URL pattern for creation could look like:

/tenants/{tenantId}

or

/{tenantId}/environments/{environmentId}

These guys are a little bit different because the USER supplies the ID.

so we could have a POST like

/tenants/?tenantId=asdf

or an empty POST or PUT into

/tentants/{tenantId}

both tenant or environment are essentially non-updateable.

I am no REST expert but an "empty POST" seems weird to me as does specifying
the ID as an parameter in POST request. It is just my personal taste, but I
find the PUT for creation here the most natural.

I am easily swayed though ;)

> I guess you are right here. I used put instead of post for the metrics, as
> they are
> sort of dependent objects.
> 
> 
> 
>   Heiko
> 
> 
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
> 


More information about the hawkular-dev mailing list