无法理解 Spring 引导代码流程
Trouble understanding Spring Boot code flow
我有一个像下面这样的 spring 引导代码,它处理像下面这样的特定映射 -
@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"
通过。我想知道如何追踪验证文件,或者如果有其他错误如何找到它?
方向上的任何指示都将非常有帮助。
谢谢。
散列 (#
) 之后的所有内容都被解释为 anchor/fragment,并且不会按照 RFC 1738 中的规定发送到服务器。
要发送哈希符号,您需要将其编码为 %23
.
URL
中的#
代表一个fragment identifier。因此,如果您的查询是 http://example.com?query=#something
,则 #something
部分被视为片段标识符,并且 query
参数为空。
我有一个像下面这样的 spring 引导代码,它处理像下面这样的特定映射 -
@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"
通过。我想知道如何追踪验证文件,或者如果有其他错误如何找到它?
方向上的任何指示都将非常有帮助。
谢谢。
散列 (#
) 之后的所有内容都被解释为 anchor/fragment,并且不会按照 RFC 1738 中的规定发送到服务器。
要发送哈希符号,您需要将其编码为 %23
.
URL
中的#
代表一个fragment identifier。因此,如果您的查询是 http://example.com?query=#something
,则 #something
部分被视为片段标识符,并且 query
参数为空。