Ich versuche, einen Test für ein Gesuchnicht impliziten Wert für Beweise Parameter des Typs finden konnte^
hier ist mein Code zu schreiben:
val request = CreateLinkRequest(token = Some(validToken),billing_ref_id = Some("123"), store_id = Some("123"), agent_id = Some("123"))
val endPoint = Uri(this.serverRootUrl + "path").toString
val post = Post(endPoint, request)
val pipeline = jsonAsStringPipeline(post)
val responseContents = Await.ready(pipeline, atMost = callMaxWaitDuration)
Aber diese nicht Kompilierung, halte ich dies immer Fehler:
Error:(156, 20) could not find implicit value for evidence parameter of type spray.httpx.marshalling.Marshaller[CreateLinkSpec.this.CreateLinkRequest]
val post = Post(endPoint, request)
^
Error:(156, 20) not enough arguments for method apply: (implicit evidence$1:
spray.httpx.marshalling.Marshaller[CreateLinkSpec.this.CreateLinkRequest])spray.http.HttpRequest in class RequestBuilder.
Unspecified value parameter evidence$1.
val post = Post(endPoint, request)
^
Was bedeutet das?
Wie kann ich es beheben?
EDIT: dies ist die json im Körper:
{ token:"123", billing_ref_id:"123", store_id:"123", agent_id:"123"}
und das ist das Objekt für sie im Code:
private final case class CreateLinkRequest(
token: Option[String] = Some(validToken),
billing_ref_id: Option[String] = Some(Random.alphanumeric.take(10).mkString),
agent_id: Option[String] = Some(Random.alphanumeric.take(3).mkString),
store_id: Option[String] = Some(Random.alphanumeric.take(3).mkString)
)
Mögliches Duplikat von [konnte keinen impliziten Wert für den Parameter marshaller finden: spray.httpx.marshalling.ToResponseMarshaller] (http://stackoverflow.com/questions/20408734/could-not-find-implicit-value-for-pa- rameter -marshaller-spray-httpx-marshalling) – engineerC
leider löst das nicht mein Problem –
Wie sieht Ihre POST-Route aus? Benötigt es JSON im Körper? –