私はUserAwareActionとCacheを組み合わせようとしています。私はCacheBeforeSilhouetteを得ることができますが、それ以外の方法はありませんか?誰でも私にこれを行う方法のヒントを与えることができますか?Silhouette-4.0.X UserAwareActionとキャッシュアクションを組み合わせるにはどうすればいいですか?
問題はplay.api.cache.Cached.applyfunctionがCachedBuilderwhichをパラメータとしてEssentialActionを必要と返すこと最初です:
@Singleton
class MessageController @Inject() (
implicit val env: Environment[DefaultEnv],
silhouette: Silhouette[DefaultEnv],
cache: CacheApi,
cached: play.api.cache.Cached)
extends Controller with I18nSupport {
...
def testOnlySilhouette = silhouette.UserAwareAction { request =>
Ok("hi")
}
def testOnlyCache = cached("homePage") {
Action {
Ok("Hello world")
}
}
def testCacheOfSilhouette = cached("homePage") {
silhouette.UserAwareAction { request =>
Ok("hi")
}
}
def testSilhouetteOfCache =
silhouette.UserAwareAction { request =>
cached("homePage") {
val res:Result = Ok("hi")
res //type mismatch; found : play.api.mvc.Result required: play.api.mvc.EssentialAction
}
}