I'm stuck.
path("myPath") {
post {
decodeRequest {
entity(as[String]) {jsonStr => //could not find implicit value
for... FromRequestUnmarshaller[String]
complete {
val json: JsObject = Json.parse(jsonStr).as[JsObject]
val jsObjectFuture: Future[JsObject] = MyDatabase.addListItem(
json)
jsObjectFuture.map(_.as[String])
}
}
}
}
}
How can I unmarshall the request into a string? I found there's a package
import akka.http.scaladsl.unmarshalling.PredefinedFromEntityUnmarshallers
which has a stringUnmarshaller and PredefinedFromStringUnmarshallers but I
can't find how to use this in my code. The stringUnmarshaller implicits
return FromEntityUnmarshaller not FromRequestUnmarshaller, I assume this is
the problem but how to I get a FromRequestUnmarshaller?
Thanks in advance,
Ivan
Am Montag, 15. Juni 2015 12:18:50 UTC+2 schrieb Ivan:
>
> Nevermind, I have to read the documentation... sorry for asking too
> quickly :D
>
>
> Am Montag, 15. Juni 2015 12:09:15 UTC+2 schrieb Ivan:
>>
>> I guess I can just get a string and then parse it, like
>>
>> val jsonStr = entity(as[String])
>> val json: JsObject = Json.parse(jsonStr).as[JsObject]
>>
>>
>> but jsonStr is a directive, how do I get the string out of this? Is this
>> the correct to implement this also?
>>
>>
>>
>> Am Montag, 15. Juni 2015 12:03:15 UTC+2 schrieb user123:
>>>
>>> I'm (re)implementing a basic webservice that uses spray with play json
>>> library. I wrote POST handler, where I want to get payload as play's json,
>>> not use any other custom class.
>>>
>>> So far I see I need unmarshaller implicit
>>>
>>>
>>> implicit val jsUM: FromRequestUnmarshaller[JsObject] = ???
>>>
>>>
>>> and then
>>>
>>> val json = entity(as[JsObject])
>>>
>>>
>>> But I don't know what goes in the ???, the examples I found use custom
>>> objects - not sure how to handle JsObject here.
>>>
>>>
>>> Thanks in advance.
>>>
>>
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.