如何将自定义对象从Play Framework过滤器传递到控制器?

时间:2019-12-04 17:32:44

标签: scala playframework

我想将自定义对象从游戏必备过滤器传递到控制器。我该怎么做到。

样本过滤器:

new_comment = "Targeted Foo Bar"
target_column_name = "__SOME_COLUMN_NAME__"
for col in updated_table['StorageDescriptor']['Columns']:
    if col['Name'] == target_column_name:
        col['Comment'] = new_comment

response = glue_client.update_table(
    DatabaseName=database_name,
    TableInput=updated_table
)

pprint(response)

1 个答案:

答案 0 :(得分:0)

您可以使用Request Attributes

object Attrs {
  val whatever: TypedKey[WhatEver] = TypedKey.apply[WhatEver]("we")
}

// in your filter:
val newReq = req.addAttr(Attrs.whatever, WhatEver(...))
nextFilter(newReq)

// in your action function:
val whatever: WhatEver = req.attrs(Attrs.WhatEver) 
// OR -- for extra safety
val whatever: Option[WhatEver] = req.attrs.get(Attrs.WhatEver)
相关问题