我對scala中的函數式編程相對較新。我遇到了流動的方法。我一直無法弄清楚它在做什麼?作爲使用scala語法的參數的函數
def getPostsByFilters = (authenticatedPublicApiPostArticleAction andThen rateLimitedApiAction).async(BodyParsers.parse.tolerantJson) { implicit request =>
implicit val apiKey = Some(request.apiKey)
request.body.validate[ArticlePostQuery] fold(
errors => futureBadRequest(errors.toString()),
articleQuery => verifyPostQueryParams(articleQuery, verifiedApiRequest => {
val PostsNetwork = PostsNetwork(true, verifiedApiRequest.contentType, verifiedApiRequest.orderBy)
apiArticleService.findApiArticlesWithPostRequest(verifiedApiRequest, PostsNetwork) map (articles => wrapUpResultsToJson(ApiPosts(articles)))
}))
}
它是在一個玩API控制器和方法被映射到在該路由文件POST請求。
我知道它需要一個json發佈請求並返回一個json響應,但是有人可以解釋實際發生的事情,以及是否有方法來重構它以使其更具可讀性?