I am creating an application in java to play 2.2.
I have a java enumeration as a parameter in a function that I use in routes.
This is my enum class. I searched and found that I needed to implement a QueryStringBindable in order to use it in routes.
public enum Something implements QueryStringBindable<Something> {
a,
b,
c;
@Override
public F.Option<ClientStatus> bind(String key, Map<String, String[]> params) {
String[] arr = params.get(key);
if (arr == null || arr.length == 0) {
return F.Option.None();
} else {
Something status = Something.valueOf(arr[0]);
return F.Option.Some(status);
}
}
@Override
public String unbind(String key) {
return null;
}
@Override
public String javascriptUnbind() {
return null;
}
}
However, I tried on my routes:
GET /someurl controllers.Application.function(status: util.enums.Something)
But it returns an invalid request with an error message like:
For the request "GET / someurl" [util.enums.Something]
I searched googled and did not find an answer in my case. Did I miss or play something, doesn’t support list bindings?
source
share