1

私は3つのルートを持っています

POST /api/v1/items/ controllers.Application.update
POST /api/v1/items/:item_type controllers.Application.update(item_type: String)
POST /api/v1/items/:item_type/:id/ controllers.Application.update(item_type: String, id: Int)

およびそれらに対応する 3 つのアクション。そして1つのエラー:

[error] /my_app/conf/routes:3: method update is defined twice
[error]   conflicting symbols both originated in file '/home/alex/my_app/target/scala-2.10/src_managed/main/routes_reverseRouting.scala'
[error] POST /api/v1/items/:item_type/:id/ controllers.Application.update(item_type: String, id: Int)

これらのアクションを分離する必要があるのは、パラメーターのデフォルト値であってはならないことに注意してください。

4

1 に答える 1

1

In play メソッドは名前で呼び出されます。パラメータは省略されています。メソッドの名前は一意である必要があります。コントローラーに同じ名前を付けることはできません (2 つのパッケージがある場合)

デフォルトのパラメータを使用してください:

POST /api/v1/items/ controllers.Application.update(item_type: String = "", id: Int = 0)
POST /api/v1/items/:item_type controllers.Application.update(item_type: String, id Int =0)
POST /api/v1/items/:item_type/:id/ controllers.Application.update(item_type: String, id: Int)
于 2013-10-11T08:35:59.540 に答える