Tim,

If I have a PUT dispatch case like so:

case r @ Req("api" :: "company" :: Nil, "", PutRequest)=> () =>
addCompany(r)

and the handler is looking for something in r.xml  like this:

req.xml match {
       case Full(<company>{parameters @ _*}</company>) => {
         for(parameter <- parameters){parameter match{
                    case <companyName>{name}</companyName> => company.name
(name.text)
                    case <line1>{line1}</line1> => company.line1(line1.text)
                    case <line2>{line2}</line2> => company.line1(line2.text)
                    case <city>{city}</city> => company.city(city.text)
                    case <state>{state}</state> => company.state(state.text)
                    case <postalCode>{postalCode}</postalCode> =>
company.postalCode(postalCode.text)
             case _ =>
            }
         }

what would my PUT URL actually look like? The lift book shows

http://www.pocketchangeapp.com/api/expense - PUT - addEntry(request) +
XML Body as an example, but I don't really understand that in the
context of third-party
app sending the request.


On May 17, 2:16 pm, Timothy Perrett <timo...@getintheloop.eu> wrote:
> > but I haven't figured out how  to PUT documents from
> > a non-lift resource into my lift app, since that
> > requires that you can somehow access lift's Req object via a URL
>
> Hmm - im afraid your just plain wrong here... it needs nothing of the
> sort. I have lift applications that are 100% back-end process, and
> have no UI, or rather, the UI is an objective-c cocoa desktop
> application. No magic included. Lift is extreamly good at building
> REST services as it has a very flexible HTTP handling mechanism. I do
> wonder though, if you already have a GET dispatch, what you cannot
> figure out how to do PUT? (look at net.liftweb.http.PutRequest and how
> its used in Req pattern match)
>
> @barry: You can do what you want without any issues. Lift is
> implemented as a filter so can co-habbit with other servlets etc. Lets
> assume that you implement the lift element under /badger - configure
> your web.xml correctly then only /badger/* requests get passed to
> lift. Technically speaking there is no difference in serving XHTML and
> XML... its all XML at the end of the day; its just that your browser
> can make sense of the micro-format ;-)
>
> Whatever you have your persistance teir configured with, you can just
> layer lift on top for a REST service - it really is that easy.
>
> Cheers, Tim

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to