Github user ahgittin commented on the issue:

    https://github.com/apache/brooklyn-server/pull/810
  
    As per ML:
    
    Aled, Thomas, Mark - thanks for the good feedback.
    
    All - There are some good suggestions which I agree deserve discussion.  
Specific points.
    
    (1) Should /types and /bundles be top-level or under a /catalog prefix ?  
Thomas suggested the latter which also fits.  My reason for doing top-level is 
simply that most REST APIs these days seem to have more top-level resources.  
/catalog is not necessary and in some ways it's cleaner having separate 
endpoints.  On the other hand the /catalog prefix is nice to orient consumers, 
as Aled says:  `bundles` and `types` on their own aren't as self-evident.  And 
it means we could continue to have `POST /catalog` as the main way to install.
    
    (2) Should we deprecate `/catalog` ?  Thomas suggests maybe not yet.  I 
think we should as equivalent functionality and more is available at the new 
endpoints.  (Though if we go with (1), obviously we wouldn't deprecate the 
whole endpoint, just the old calls.).  Also worth noting:  I don't think we 
should remove the deprecated endpoint anytime soon however.  
    
    (3) Should we switch to /v2 ?  Aled has suggested we do as the generic 
`types` support is a significant shift from the old more restrictive `catalog`. 
 I don't think we should yet, however:  I'd prefer to make that move when we 
are ready to remove all old endpoints so v2 is clutter-free.  To the extent v2 
can look like a subset of v1 we make life easier for users and ourselves.  Also 
there is significant work to add a /v2 endpoint and I don't think there is 
benefit yet to justify this work.
    
    (4) Should `/subtypes` be an endpoint peer of `/types` ?  It has been noted 
the same functionality as `/subtypes/entity` could be done with 
`/types?super=entity` (with appropriate query paramter).  My reasoning for 
making it a separate endpoint is that this is an activity I expect people will 
want to do a lot, avoiding the query parameter makes for a slightly nicer API.  
But it is repetition in the code.
    
    (There are some other minor issues but I think I agree with the points made 
there.)
    
    My answers:
    
    (1) slight preference for the `/catalog` prefix
    (2) strong pref to deprecate old calls - they are redundant and multiple is 
confusing
    (3) strong pref to stay with `/v1` for now
    (4) slight pref for explicit `[/catalog]/subtypes` endpoint



---

Reply via email to