Thanks so much. How would I handle optional parameters? My knowledge of for comprehensions is quite limited...
Peter On Jul 14, 10:25 am, David Pollak <[email protected]> wrote: > On Mon, Jul 13, 2009 at 5:31 PM, Peter Robinett > <[email protected]>wrote: > > > > > > > Thanks, David. Here is its class definition: > > > class Packet extends LongKeyedMapper[Packet] with IdPK { > > def getSingleton = Packet > > object node extends MappedLongForeignKey(this, Node) > > object dt extends MappedDateTime(this) > > object temp extends MappedDouble(this) > > object mAh extends MappedDouble(this) > > object lux extends MappedDouble(this) > > object rssi extends MappedDouble(this) > > } > > > Also, the Web Services demo (http://demo.liftweb.net/ws) seems to have > > exactly what I need but the code seems to be old – I get lots of > > compiler errors. > > object RestAPI extends XMLApiHelper { > def dispatch: LiftRules.DispatchPF = { > case r @ Req("api" :: "packet" :: Nil, "", PostRequest) => () => > addPacket(r) > } > def addPacket(req: Req): LiftResponse = { > for { > nodeId <- S.param("node") > node <- Node.find(nodeId) > temp <- S.param("temp").flatMap(s => tryo(s.toDouble)) > } Packet.create.node(node).temp(temp).save > > OkResponse > } > > > > } > > > Peter > > > On Jul 13, 5:14 pm, David Pollak <[email protected]> > > wrote: > > > On Mon, Jul 13, 2009 at 5:12 PM, Peter Robinett <[email protected] > > >wrote: > > > > > Hello, > > > > > I'd appreciate any tips on how to take POSTed data and use it to save > > > > a new object. Using previous threads here I've figured out how to do > > > > the basic request processing but my limited knowledge of Mapper and > > > > Scala's maps mean that I'm not sure how exactly to save the data I > > > > receive. I'm guessing that I need to use some sort of for > > > > comprehension to assign all the POST parameters to the object. > > > > > Here is what I have: > > > > > object RestAPI extends XMLApiHelper { > > > > def dispatch: LiftRules.DispatchPF = { > > > > case r @ Req("api" :: "packet" :: Nil, "", PostRequest) => () => > > > > addPacket(r) > > > > } > > > > def addPacket(req: Req): LiftResponse = { > > > > val packet = Packet.create > > > > /* I want to assign the contents of req.params - Map("node" -> > > > > List("44"), "temp" -> List("24.32525")) - into packet */ > > > > packet.save > > > > OkResponse > > > > } > > > > } > > > > Please include the source for Packet (or at least a list of fields and > > > types) > > > > > Thanks, > > > > Peter Robinett > > > > -- > > > Lift, the simply functional web frameworkhttp://liftweb.net > > > Beginning Scalahttp://www.apress.com/book/view/1430219890 > > > Follow me:http://twitter.com/dpp > > > Git some:http://github.com/dpp > > -- > Lift, the simply functional web frameworkhttp://liftweb.net > Beginning Scalahttp://www.apress.com/book/view/1430219890 > Follow me:http://twitter.com/dpp > Git some:http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
