Trasy z opcjonalnym parametrem - Play 2.1 Scala

Tak więc w Play 2.0 miałem to:

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

Dzięki takiej metodzie kontrolera:

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

I to działało. Kiedy przeprowadziłem migrację do wersji 2.1, wydaje się, że narzekają na te linie:No URL path binder found for type Option[Long]. Try to implement an implicit PathBindable for this type. Zasadniczo staram się osiągnąć trasętasks/add i trasatasks/123/add link do tej samej metody, która akceptujeOptional[Long]. Masz jakiś pomysł, jak to zrobić? Dzięki.

Ok, więc mam coś takiego, nie jest to błąd, to odpowiedź na funkcję w Lighthouse: „Usunęliśmy obsługę Option [Long] w ścieżkach bindów, ponieważ nie ma sensu posiadanie opcjonalnego parametru ścieżki. wiążąca ścieżkę, która ją wspiera, jeśli chcesz. Do tej pory mam 2 rozwiązania, przekazując -1 jako parentId, czego tak naprawdę nie lubię. Lub mając 2 różne metody, co prawdopodobnie ma w tym przypadku większy sens. Wdrożenie PathBindable nie wydaje się teraz zbyt wykonalne, więc prawdopodobnie będę trzymał się dwóch metod.

questionAnswers(5)

yourAnswerToTheQuestion