[Seaside] Seaside REST optional query parameters
Philippe Marschall
philippe.marschall at gmail.com
Sun Mar 24 21:12:38 UTC 2013
On Sun, Mar 24, 2013 at 5:01 PM, Chris <cpmbailey at btinternet.com> wrote:
> On 24/03/2013 14:55, Philippe Marschall wrote:
>>
>> On Sun, Mar 24, 2013 at 1:08 PM, Chris <cpmbailey at btinternet.com> wrote:
>>>
>>> Does SeasideREST support optional query parameters so that you only have
>>> to
>>> write the one handler?
>>>
>>> i.e.
>>> getFoo: bar baz: baz
>>> <get>
>>> <path: '/foo?bar={bar}&baz={baz}'>
>>>
>>> and the baz variable is nil if the user just navigates to /foo?bar=1.
>>>
>>> Currently it won't match the path handler. There is a mention on the
>>> quick
>>> start about how some of the more complicated matching techniques can be
>>> applied to the query arguments but I can't see how to do it. Is it
>>> possible
>>> to use regex?
>>
>> No, there isn't right now. But you can fake it by removing the
>> optional arguments from the pragma and manually looking them up.
>>
>> getFoo: bar baz: baz
>> <get>
>> <path: '/foo?bar={bar}'>
>> | baz |
>> baz := self requestContext request at: 'baz' ifAbsent: [ nil ]
>
> Hi Philippe
>
> That was how I was attempting to get around it but it fails the path match
> if you add baz to the url.
Interesting, in that case you'll have to make two methods.
Cheers
Philippe
More information about the seaside
mailing list