Маршруты с необязательным параметром - Play 2.1 Scala

Итак, в Play 2.0 у меня было это:

GET     /tasks/add              controllers.Tasks.addTask(parentId: Option[Long] = None)
GET     /tasks/:parentId/add    controllers.Tasks.addTask(parentId: Option[Long])

С помощью метода контроллера, подобного этому:

def addTask(parentId: Option[Long]) = Action { 
    Ok(views.html.addTask(taskForm, parentId))  
}

И это работало. Когда я перешел на 2.1, кажется, что жалуются на эти строки с:No URL path binder found for type Option[Long]. Try to implement an implicit PathBindable for this type. По сути, я пытаюсь достичь маршрутаtasks/add и маршрутtasks/123/add ссылка на тот же метод, который принимаетOptional[Long], есть идеи как это сделать? Благодарю.

Итак, я получил видэто не ошибка, этоРеакция на Маяк: "Мы убрали поддержку Option [Long] в связываемых путях, так какНе имеет смысла иметь необязательный параметр пути. Вы можете реализовать свой собственный связываемый путь, который поддерживает его, если хотите. " Пока у меня есть 2 решения, передавая -1 в качестве parentId, что мне не очень нравится. Или иметь 2 разных метода, что, вероятно, имеет больше смысла в этом случае. Реализация PathBindable не делаетсейчас это кажется слишком выполнимым, поэтому я, вероятно, буду придерживаться двух методов.

Ответы на вопрос(5)

Ваш ответ на вопрос