我有一个像下面这样的弹簧启动代码,它处理一个特定的映射,如下所示 -
@RestController
@ResponseBody
public class SomeAPIController {
@RequestMapping(
value = "/some-api",
method = RequestMethod.GET,
produces = {"application/json", "application/xml"}
)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public SomeAPIPayload validateAPIUpdate(
@Valid @RequestParam(value = "query", defaultValue="") String queryString
)
但是在上面的代码中,如果我将查询传递为"something"
它工作正常,但是如果我传递说,"#something"
它无法查询(我通过打印queryString
值来验证它,结果是空的(,所以,据我的理解@Valid
(从javax.validation
导入(正在做一些验证,不会让"#something"
通过。我想知道如何追踪验证文件,或者如果其他错误如何找到它?任何方向上的指针都将非常有帮助。
谢谢。
哈希(#
(后面的所有内容都被解释为锚点/片段,不会像RFC 1738中所述发送到服务器。要发送哈希符号,您需要将其编码为 %23
。
URL
中的#
代表片段标识符。因此,如果您的查询http://example.com?query=#something
则#something
部分被视为片段标识符,query
参数为空。