playframework / playframework/playframework
Allow for using dot in query string parameter
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 12.6k
- Forks
- 4k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 29
Description
Play Version (2.5.x / etc)
2.6.18
API (Scala / Java / Neither / Both)
Java
Operating System (Ubuntu 15.10 / MacOS 10.10 / Windows 10)
Windows 7
JDK (Oracle 1.8.0_72, OpenJDK 1.8.x, Azul Zing)
JDK 9.0.4
Library Dependencies
N/A
Expected Behavior
GET /mycallback controllers.MyController.mCallback("test.x": java.util.Optional[String])
should be allowed
Actual Behavior
Neither myCallback(test.x: java.util.Optional[String]) nor myCallback("test.x": java.util.Optional[String]) is allowed.
Compilation fails with:
[error] workspace\conf\routes:112: Compilation error[`)' expected but `"' found]
or
[error] workspace\conf\routes:112: Compilation error[`)' expected but `.' found]
Reasoning
test.x is perfectly valid query string parameter. For example Facebook uses hub.verify_token for its callbacks
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the route definition and query-parameter syntax shown in the issue, then trace the route compiler/parser that rejects the dot in test.x. Reproduce the failure with the Java Optional[String] callback example; done means dotted query-string parameter names are accepted without breaking existing route syntax.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, scala
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100