0
나는 다음과 같은 코드가 있습니다 어딘가에 내가 흐름에 메시지를 보내고있다 코드에Akka 스트림 + Akka HTTP를 패스 매개 변수
case class SomeClass(param1:String,param2:String,param3:String)
val someClassActorSource: Source[SomeClass, ActorRef] = Source
.actorPublisher[SomeClass](Props[SomeClassActorPublisher])
val someFlow: ActorRef = Flow[SomeClass]
.mapAsync(3)(f=> getDocumentById(f))
.map(f =>{
val request = HttpRequest(method = HttpMethods.POST, uri = "http://localhost:8000/test")
.withEntity(ContentTypes.`text/xml(UTF-8)`, ByteString(f.a)
)
(request,request)
}).via(connection)
//Parsing Response
.mapAsync(3){
case (Success(HttpResponse(status, _, entity, _)),request)=>
entity.dataBytes.runFold(ByteString(""))(_ ++ _)
}
.map(resp =>parse(resp.utf8String,?????????????))
.to(Sink.someSink{....})
.runWith(someClassActorSource)
def parse(resp:String,parseParam:String)=????
과 :
이someflow ! SomeClass("a","b","c")
someflow ! SomeClass("a1","b1","c1")
내 문제를 그 방법 구문 분석은해야
그래서 첫 번째 메시지에 대한 정품 케이스 클래스에서 PARAM2 사용해야합니다
와 두 번째 메시지는
parse(response,"b1")
그래서 질문은, 어떻게 내가 흐름에 제출하는 방법에서 매개 변수를 가져올 수있다되어야 하는가?