bindFromRequest 和 asFormUrlEncoded return 不同的值

bindFromRequest and asFormUrlEncoded return different values

我有一个表单,其中字段名称与提交的 method/url 参数之一相同,比如 someInt。 IE。我的表单有 @(dummyForm:Form[Dummy], someInt:Int)dummyForm 有一个字段 "someInt" -> number,控制器定义为 def submit(someInt:Int) =...Sample code here.

假设我提交了 dummy.someInt 值 222 和 url 参数 555 的表单,我发现以下内容:

这是预期的行为吗?我还以为 bindFromRequest 能区分这两者?有没有更好的方法来防止这种类型的冲突(除了使用不同的名称)?

(在这种情况下有一个解决方法。如果您明确指定 asFormUrlEncoded 值集,即 bindFromRequest(request.body.asFormUrlEncoded.getOrElse(Map()))。我正在使用 Scala - 没有尝试在 Java 中复制。)

bindFromRequest 函数中,request.queryString 明确附加到值列表。