Spring Controller接收参数形式

在SpringMVC中接收前端(APP或其他分离的前端)传来的参数,一般是接收表单形式(通过request.getParameters(xxx)取值)的还是直接接收Json对象?
哪一种更方便点?

阅读 2.7k
3 个回答

看了下上面的回答,还是需要编辑一下…
首先,如果你能用request.getParameters拿到参数,说明客户端传过来的不是json,因为json用request.getParameter是取不到的
其次,直接用对象接参数没有坏处(除非只有一两个参数,但是即使参数少也可以直接用@RequestParam接,不需要手动从request里拆)
如果用了SpringMVC,还在坚持request.getParameter的,要么是对这些东西非常熟悉,知道有一切情况直接getParameters更好;要么就是不够熟悉,不知道框架有方便的获取参数的功能

对于方便,那肯定是json。不然多少个字段你要写多少个get

@ModelAttribute取request.param,@RequestBody取request.content.
两者后面皆可以跟对象。@ModelAttribute还可以通过自定义方法从别的地方(如redis里)取值,同时配合binding=false来避免从参数中取值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题