Я хочу быть в состоянии иметь это:Маршруты перегрузкой не работает
POST /items controllers.Application.update()
POST /items/:itemType controllers.Application.update(itemType: String)
POST /items/:itemType/:id controllers.Application.update(itemType: String, id: Int)
но не компилируется из-за ошибки method update is defined twice
. Тогда я изменил его, и это не компилятор либо:
POST /items controllers.Application.update(itemType: Option[String] = None, id: Option[Int] = None)
POST /items/:itemType controllers.Application.update(itemType: String, id: Option[Int] = None)
POST /items/:itemType/:id controllers.Application.update(itemType: String, id: Int)
ошибки являются:
- предыдущий один
- и
type mismatch; found: Option[String]; required: String
Что мне делать по этому поводу? Я не хотел бы сделать что-то вроде этого:
POST /items controllers.Application.updateAll()
POST /items/:itemType controllers.Application.updateByType(itemType: String)
POST /items/:itemType/:id controllers.Application.updateByTypeAndId(itemType: String, id: Int)
и это не хорошо выглядеть либо, так как я хотел бы использовать Option
вместо пустой строки:
POST /items controllers.Application.update(itemType: String = "", id: Int = "")
POST /items/:itemType/:id controllers.Application.update(itemType: String, id: Int = "")
POST /items/:itemType/:id controllers.Application.update(itemType: String, id: Int)
Могу ли я использовать параметры с URL-адреса определенного типа? '(itemType: MyClass1, id: MyClass2)' –
Извините, я никогда не занимался этим сам, поэтому не мог сказать. – Shadowlands