Yeah I realized that's how web2py works, I was under the impression
that the extension always came after the args and directly before any
variables. I tried changing the parser and realized I was going to get
into all sorts of trouble with how urls are interpreted. I'm realizing
more and more that web2py was not built to make using a REST interface
very easy but am still trying to find ways to make it work. When
requesting a specific resource in REST you generally have a path:

/app/collection/some_resource#.ext

and since you can't very well have a dynamic resource# as an action
within a controller you end up using an action for the collection and
parsing out the resource number. This worked just fine till i started
appending the .json extension for the android since it doesn't see it
and won't redirect to the json representation of the resource. I know
I can just parse it out in the controller and make it work but it
would be really ugly, is there another workaround that would allow me
to let web2py do its thing but still be able to append an extension
after the resource number? I'll probably check out the routes_in stuff
next to see if there's a way of changing the url once it arrives to
match with what web2py wants, but haven't played with that at all yet
so any pointers would be great.

On Jul 2, 4:54 pm, mdipierro <[email protected]> wrote:
> Make sure you use
>
> /app/controller/action.json/arg0/arg1/arg2
>
> and not
>
> /app/controller/action/arg0/arg1/arg2.json
>
> On 2 Lug, 13:49, sethford <[email protected]> wrote:
>
> > So I'm making an app that will be communicating with an android app in
> > a RESTful way using json. For example the app has many todo lists
> > which are retrieved with a url such as app/todo/lists/9.json (for list
> > 9). For some reason when the request is parsed it doesn't recognize
> > the .json as an extension and instead it ends up with an arg
> > ['9.json'] and the extension defaults to html. I'm trying to figure
> > out where this happens so I can fix it but it seems like something
> > that shouldn't be happening at all.

Reply via email to