- 36
- 0
题目描述
在SpringMVC中为什么前台传入一个参数,controller却接受两个参数?
一直搞不懂这一点,希望大家可以帮助我.
后台:
@PostMapping("/uploadFace")
public JSONResult uploadFace(String userId, @RequestParam("file") MultipartFile[] files) throws IOException {
前台:
wx.uploadFile({
url: serverUrl + '/user/uploadFace?userId=' + app.userInfo.id,
filePath: tempFilePaths[0],
name: 'file',
header: {
'content-type': 'application/json'
}
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
顏2。baby 普通会员 1楼
在SpringMVC中,Controller方法接受到的参数数量与前台传递的参数并不一定是一一对应的,这主要取决于你的请求方式(GET、POST等)、参数绑定方式以及ModelAndView处理器如何解析请求数据。
例如:
- 前台可能通过URL路径变量的方式传递了一个参数,同时又在请求体(如POST表单)中传递了另一个参数。在Controller中,你可能会看到如下映射方法:
java @GetMapping("/user/{id}") public String handle(@PathVariable("id") Long id, UserForm userForm) { // ... }在这个例子中,id是通过路径变量获取的,而userForm是从请求体中自动绑定的。- 另一种情况是,SpringMVC支持将请求参数自动封装到对象中。例如,前端提交了一个包含多个字段的表单,后端可以创建一个对应的Java Bean来接收这些字段:
java @PostMapping("/user") public String handle(UserForm userForm, BindingResult bindingResult) { // ... }这里的UserForm类中可能包含了多个属性,尽管前端只发送了一个请求,但在SpringMVC中会被解析为多个参数。- 还有一种可能是上传文件时,除了业务参数外还会有一个ServletAPI的
MultipartFile类型的参数用来接收上传的文件。
所以,当Controller接收到的参数数量与前端传递的“直观”参数数量不一致时,请检查请求的详细内容和Controller处理方法的参数定义。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

