有没有办法在网址的某些部分制作Play! Framework忽略斜杠和?
?
通常,如果我有以下内容:
www.123.com/api/link/http:www.bla.com/?contenId=123&User=test
它无效。在这种情况下,我想要做的只是在String
变量中的URL的最后部分中使用链接来保存它。我想我可以强迫客户端用其他东西替换/
和?
,但我宁愿保持简单。
我的第一个想法是,可能有一种方法来配置路由,以便我们有类似的东西:
/api/link/{data}
其中data
将保留URL的剩余部分。虽然无法知道如何做到这一点。
答案 0 :(得分:6)
除主网址外,您不能拥有:
/
?
。您应编码您的参数以将其附加到主网址。有关Java,请参阅URLEncoder。
这不是有效的网址:
http://www.123.com/api/link/http://www.bla.com/?contenId=123&User=test
必须是:
http://www.123.com/api/link/http%3a%2f%2fwww.bla.com%2f%3fcontenId%3d123%26User%3dtest
然后您可以在处理程序方法中将其传递给{data}
参数并解码。