Spring MVC 如何转换@RequestParam 值?

How does Spring MVC convert @RequestParam values?

我是 Spring 框架的新手,作为一个症状,我想尽可能简单地采用它的 Web MVC 部分,所以我使用注释函数来处理Spring。过去,我用过:
int value = Integer.valueOf(request.getParameter("numberValue"))
从参数中提取值 - 显式转换 getParameter() 返回的字符串。
有用的是,我注意到当我使用 Spring 时术语:
@RequestParameter("numberValue") int numVal
转换是自动处理的。这很好,但对我来说 "black box"。我尝试查看此处或 Spring 文档中的问题,但所有这些信息都涉及对象或格式问题的自定义转换(如 Converter)。我只想知道 Spring 默认情况下如何处理 @RequestParam 的原始类型转换。

I've noticed that when I use Spring's terminology: @RequestParameter("numberValue") int numVal the conversion is handled automatically.

你在这里寻找类型转换

根据关于此 link

的 spring 文档

String-based values extracted from the request including request parameters, path variables, request headers, and cookie values may need to be converted to the target type of the method parameter or field (e.g., binding a request parameter to a field in an @ModelAttribute parameter) they’re bound to. If the target type is not String, Spring automatically converts to the appropriate type. All simple types such as int, long, Date, etc. are supported.