最近是跟get请求杠上了,对于需要传多个参数大多数人都会选择post请求传一个对象吧,这样也更好维护。但是最近公司在去windows化,将原来的.net项目转成java项目。项目过程中发现很多get请求的接口需要接收多个参数,为什么不直接用post请求呢?虽然不理解,但是这是前人留下的坑,现在该填还得填。
当然,你可以像这样:
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test(@RequestParam(required = false) String param1,
@RequestParam(required = false) Integer param2,
@RequestParam(required = false) String param3,
@RequestParam(required = false) String param4 ){
}
但是,作为一个优秀的程序猿是不是应该让代码看起来优雅一点,用一位前辈的话来讲,要有工匠精神。
所以,最后我选择了这样做:
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test(@ModelAttribute ParamModel model){
}
这样是不是看起来更简洁呢
这里的ParamModel是自己定义的对象,用来接收get请求传递过来的多个参数。@ModelAttribute 是SpringMVC的注解。
不光适用于get请求,同样也适用于put和delete请求。
希望对需要的小伙伴有所帮助。