Re: [Specifications] Question about HATEOAS shortcuts (#189)

> with hydra the only stable URL would be an API Documentation's URL

Are you 💯 percent sure about that? I've always assumed that the entrypoint should be the stable point of contact.

> You check the product details with the `Catalog.getProduct({"productId": 123})`

This already presents a problem. The client should have no understanding that `123` is some kind of identifier. The only real identifier is the URL. 

Thus, once you bookmark `https://api.example.com/v1/catalog/product/123`, you can return to it simply by requesting that very resource. You do not need to `find somehow the Catalog first and get some sort of searchByProductId(123) operation`

> Meanwhile the URIs change [...] Or should I just save the link that can break and respond in these cases with a "sorry pal, spend your money somewhere else" error message? 

Now this is not really the client's problem to solve. I'd say that the responsibility of a well-designed API is to provide redirects, at least for a certain period following the change. You could then monitor for incoming requests and once the requests for the "old" URLs drops below a certain threshold, you would then remove them completely.

-- 
GitHub Notification of comment by tpluscode
Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/189#issuecomment-484013047 using your GitHub account

Received on Wednesday, 17 April 2019 09:39:11 UTC