Hacker News new | past | comments | ask | show | jobs | submit login

returning a null array to represent no items

To be honest, that's what I'd expect. What do you dislike about that result, and what would you prefer to see returned? Jump straight to 404?

returning a single object without an array to represent one item.

So an array if there's multiple results, and a bare object for a single result? That's unpleasant.




> Jump straight to 404?

That's my pet peeve. I completely understand the logic - using the HTTP status code to show the result of interaction with the resource is very RESTful - but my complaint is that unless you provide more context, a 404 doesn't tell me if I'm getting a response of "that resource doesn't exist" vs "you're accessing a url pattern that will never work".

So if you want this random internet user to be pleased, never return a 404 response unless the caller is able to see this difference. (Usually having SOME form of body unique to the API is sufficient to prove the 404 is not because of a bad API call).

Giving me the HTML to your site 404 page when I called a non-HTML API is likewise sad-inducing.


We have only one pattern like this... when there's a client resource (containing personal information for contacting them) that the client has asked to be private... we return an empty JSON object (versus an object with the contact information keys)


If an API is expected to return an array, but the data set is empty, I expect an empty array. I should be able to go straight from the request to a for-each loop without checking for null.


> What do you dislike about that result, and what would you prefer to see returned?

It’s inconsistent and means I need to write special case code to check for it, when before I could choose to. It should return an empty array.


null array sounds like it's an array (presumably an empty one), it would have been clearer if OP had said null instead.


Not sure why you're getting downvoted - that was how I read it as well.


Presumably they would prefer an array always be returned. If zero items, an empty array; if one item, an array of length one; if more items, a longer array.


>> returning a null array to represent no items

> To be honest, that's what I'd expect. What do you dislike about that result, and what would you prefer to see returned? Jump straight to 404?

I'd expect an empty array to represent no items. It's the difference between "" and "[]".


404 indicates an error, if the result is just empty but not erroneous 204 "no content" may be better.


+1, 204 is underutilized for no-result cases.


In the browser it will also do no page refresh as there is nothing to render.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: