I was in a bit of a hurry so I asked this question also in StackOverflow
and could solve it. If somebody is
interested:
http://stackoverflow.com/questions/30844321/how-to-unmarshall-akka-http-request-entity-as-string
Am Montag, 15. Juni 2015 13:23:11 UTC+2 schrieb Ivan:
>
> Also, there's spray.httpx.unmarshalling.BasicUnmarshallers implicit but
> importing this also doesn't help.
>
> Am Montag, 15. Juni 2015 13:20:12 UTC+2 schrieb Ivan:
>>
>> 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.