Playframework 播放JSON的框架分块响应处理
我的Play Framework控制器中有一个端点,如下所示:Playframework 播放JSON的框架分块响应处理,playframework,chunked-encoding,Playframework,Chunked Encoding,我的Play Framework控制器中有一个端点,如下所示: def validateLinksX: Action[JsValue] = Action(parse.tolerantJson) { request => request.body .validate[ParserFilter] .fold( errors => { val retVal = Source.future(
def validateLinksX: Action[JsValue] = Action(parse.tolerantJson) {
request =>
request.body
.validate[ParserFilter]
.fold(
errors => {
val retVal = Source.future(
Future.successful(Json.prettyPrint(Json.obj("status" -> "error", "message" -> JsError.toJson(errors))))
)
Ok.chunked(retVal)
},
parserFilter => {
val batches = Source.future(appBindings.httpService.parse(parserFilter).runToFuture.materialize.map {
case Success(elems) =>
scribe.info(s"Total elements -> ${elems.size}")
Json.prettyPrint(
Json
.obj(
"baseURL" -> s"${parserFilter.url}",
"Total Elements" -> s"${elems.size}",
"results" -> HttpResult.asJson(elems)))
case Failure(err) =>
Json.prettyPrint(Json
.obj("status" -> "error", "message" -> s"${err.getMessage}"))
})
Ok.chunked(batches)
}
)
}
可以看出,我正在对响应进行分块,但在尝试时,我仍然可以将整个JSON视为一个分块。我确信我遗漏了一些相对琐碎的东西,但是播放文档并没有那么大的帮助
你知道我怎样才能把部分的分块回复发回去吗