1. 6
  1.  

  2. 1

    One thing brought up in the comments, but not addressed in the article is what you should do for the ambiguous cases where the URL parameter could be a name or id.

    /shelf/{id}/book/{id}
    /shelf/{name}/book/{name}
    

    While you could restrict the space of name to avoid ambiguities, your route handler will still have the two responsibilities of looking up by id and searching by name.

    If you are following the advice in this article, how are you dealing with this?