如何处理Controller传来的json是个更好的选择呢?
来源:8-12 IP获取工具类,发送邮件工具类的引入和代码优化

TinyLeon
2018-09-02
老师好:
我最近在看老师的并发编程课程,感觉讲的很好。真希望能变成老师这样的大牛。
我最近有个疑问,我们的项目是前后端分离的项目,通过RESTful接口通信。我看大家的代码,在处理前端传来的json报文上,处理的方式不太统一。
有的人,比如我,习惯先创建一个pojo类,然后通过@RequestBody将这个json映射到类里面。
有些人就不会创建这个类,而是将json以字符串的形式接收,然后用开源的json处理工具一个个json节点的来处理请求参数。他们这种方式下,还有些人是用fastjson,有的人用Jackson,有的人用gson。
我想咨询下老师,老师喜欢哪种方式呢,哪种方式更优雅,效率更高,老师最推荐呢?
谢谢老师!
2回答
-
你好,感谢你的赞美,你的问题也不比较有意思。说一下我在这方面的一点理解吧。
首先从安全性来讲,@RequestBody这个更好一些,放在body里传输更安全一些,这个相比@RequestParam Post提交也更好一些。
接下来说json转换,我们更习惯使用jackson,转换比较稳定一些,当然其他json也有自己的好处,本质上可以看看他们的对比,不同的json转换都有自己的一些优势,可根据实际场景选择。但不是很推荐传入json string,再转换成一个类的方式,这完全可以使用@RequestParam + 普通model的形式接收,代码看起来也更容易理解,而且也不至于出现json拼接出错的可能。
最后说一下他们实际的选择。其实这个没明确的要求,以组内规范为主。忽略其他,我更推荐的是:涉及更新时使用Post + @RequestBody的形式,普通查询时使用Get + @RequestParam的形式,但不强制。012018-09-02 -
Jimin
2018-09-02
另外,强烈建议,你们组内能定义一个接收参数的规范,这样更适合团队协作。
00
相似问题