- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Thu, 14 Jul 2011 19:02:31 -0700
- To: Robert Brewer <fumanchu@aminus.org>
- Cc: URI <uri@w3.org>
On Jul 14, 2011, at 6:18 PM, Roy T. Fielding wrote: > On Jul 14, 2011, at 6:06 PM, Robert Brewer wrote: > >> Roy T. Fielding wrote: >>> On Jul 13, 2011, at 9:19 AM, Manger, James H wrote: >>>> 6. >>>> There are no examples with defaults for more than 1 variable. >>>> For example, add "x{/var|1st,empty|2nd}" to section 2.5 >>>> "Value Defaults". The very long list of examples in this >>>> section is not good sign to me that this feature's design >>>> is intuitive. >>> >>> Right. The reason is simply that the examples get too long. >>> >>> Anyway, I was thinking about defaults this morning and realized that >>> I don't have any use case for them. That is, if we assume that the >>> server is telling the client what values are to okay to place in the >>> variables, then why would the server ever tell the client that the >>> variable is undefined? >>> >>> The only use case that I know of is that it allows the server to >>> state what parts of the URI space are never empty. However, I can't >>> think of anyone who needs that. Are there other use cases? >> >> I've seen (and written) plenty of API's where /foos/bar/baz makes sense >> but /foos//baz doesn't make sense (at best, or breaks at worst). It >> would be useful to be able to write something like /foos/{bar!}/baz >> where the "!" character constrains the value to be supplied and not >> empty. > > But that's why we have /foos{/bar}/baz er, never mind -- that would eliminate "/foos//baz" but not "/foos/baz" Anyway, the point I was making earlier is that if the client is only using values that has been given to it by the server, then bar will never be empty. I think that is a better solution than a must-be-defined mark because there is nothing useful that a client can do with a template that says it is an error. ....Roy
Received on Friday, 15 July 2011 02:03:02 UTC