0

URL映射为:

@path(value = "/article/{articleName}")

@GET

这里'articleName'包含竖线 ( |)。所以当我点击我得到的 URL 时400 Bad Request

我知道的可能的解决方案是,

使用 URL 编码。使用@RequestParam代替@PathVariable。但上述解决方案对我来说是不可能的。

是否有任何其他解决方案,例如(使用正则表达式或更改映射或任何显式过滤器等)来解决问题?

4

1 回答 1

0

URL 不能包含 | 作为一个角色。如果你认为你真的需要它,你可以做几件事

例如,如果可用,则使用 ASCII 表编号,但在这种情况下不是。对于 URL 栏编码规范中的字符,您可以使用 %7C 表示管道。根据您的应用程序,不使用或允许它可能相当聪明。但是您也可以考虑在 API 之后使用 base64 编码和解码 base64。fA== 表示管道进入。切勿授予写入此数据的文件的执行权限。

于 2020-08-13T14:10:52.763 回答