users vs user, agree with you, it was a typo.

Regarding;

> Almost all resources can be retrieved using different urls, hardly an
issue.

I disagree. In my example /users?name=:name will return a collection of one
or n users matching the query. /users/:id returns univocally one user
always.

/user/:id is the url of that particular resource and is where I am supposed
to PUT/PATCH/WHATEVER. Sometimes I use this url in the response Location
header to a POST request to /users.

/users/:id/comments kind of url is pretty valid also, Are you going to
implement /users/:name/comments too?

URL design is important.


2013/11/5 Alex Kocharin <[email protected]>

>
>
> On Monday, November 4, 2013 10:54:12 PM UTC+4, José F. Romaniello wrote:
>>
>>
>> 2013/11/4 Simon <[email protected]>
>>
>>     app.get('/users/:id[int]', function(req, res, id) { ... });
>>>     app.get('/users/:name', function(req, res, username) { ... });
>>>
>>
>>
>> Besides the syntax, IMHO this particular example doesn't sound like a
>> good API, some of my concerns:
>>
>> -  It means that the same resource will be found in two different urls
>>
>
> Almost all resources can be retrieved using different urls, hardly an
> issue.
>
> -  Will this api support PUT/PATCH/DELETE to both name and id, etc
>> -  Few days ago I watched a movie where the protagonist name was 6
>> http://www.imdb.com/character/ch0250776/?ref_=ttfc_fc_cl_t21 (joke)
>>
>> For this particular case, I often have /users/:id and /user?name=x, which
>> read as *query the user resources by name*.
>>
>
> Simon's API is very good if :name is heavily restricted to non-numeric
> ascii strings (like /[-_a-z][-_a-z0-9]*/). If it's not, a number of issues
> will come out, so I'm using '/users/:id' and '/users/search?name=:name'
> usually.
>
> Mixing plural and singular forms of the same word ("user", "users") sounds
> like a bad idea anyway.
>
>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to