2016-03-15 16 views
6

mam Zagraj ramową aplikacji w wersji 2.4 migrację do 2,5, wszystko gotowe! ale wygeneruje błąd w moim akcji niestandardowej z BodyParser,Zagraj 2,5 migracji Error: niestandardowe działania z BodyParser: nie można odnaleźć ukrytą wartość parametru maty: akka.stream.Materializer

def isAuthenticatedAsync[A](parser: BodyParser[A])(f: => Long => Request[A] => Future[Result]) = { 
Security.Authenticated(userId, onUnauthorized) { user => 
    Action.async(parser)(request => f(user)(request)) 
} 

}

Użyj tego:

def upload = isAuthenticatedAsync(parse.maxLength(5 * 1024 * 1024, parse.multipartFormData)) { userId => request => 
//Logger.info(s"") 
request.body match { 
    case Left(MaxSizeExceeded(length)) => Future(BadRequest(Json.toJson(ResultTemp("Your file is too large, we accept just " + length + " bytes!")))) 
    case Right(multipartForm) => 

rzucać błąd:

could not find implicit value for parameter mat: akka.stream.Materializer 

[Error] def upload = Action.async (parse.maxLength (5 * 1024 * 1024, parse.multipartFormDa TA)) {request =>

Odpowiedz

6

Wygląda na to trzeba wstrzyknąć materializatora w kontrolerze

class MyController @Inject() (implicit val mat: Materializer) {} 
+0

wiele dzięki wam! –

+0

serdecznie witamy @ ĐạtThành. Ciesz się scala. –