Spring Boot获取前端页面参数的几种方式总结 & 后端初学习心得
小总结(自己):
- 我理解的后台其实就是上连前端,下连数据库,这两个过程都需要将参数和实体类中的属性进行映射,前者是利用springmvc将前台传入的参数封装成实体类(前台传入的参数名称不一定和实体类中的属性名称一一对应,可以用postman,利用全部查询接口测试后台返回给前台的参数名),而后者利用mybatis实现实体类属性和数据表字段的对应关系。
如果自动映射失效(约定),查不出数据,就手动映射(配置)(有些时候数据库表字段为大写加下划线,如果实体类的属性名也这么整的话,有时会出现自动映射失效的bug!!!)
前端参数和实体类属性名在映射中是没有强调一一绑定的,而数据库表和实体类属性名往往需要手动映射(collection,association)。
约定大于配置的设计理念,在工程的层面,其实是利用java程序员编程的直觉,定下的通用的约定,可以减少项目中bug出现的概率。
比如,dao的底层sql查询用
add_
表示增、del_
开头表示删除,那么配置事务(面向切面,功能增强)时候就直接add_*
指定一个策略就行了,这是约定。减少你出错的可能性,这是工程层面的东西,那么扩展到一种语言,就好像java的getter和setter,也算一种约定,但是为了语言的灵活性,这样的约定会比较少,不像框架中约定使用的这么随意。
Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库,前段时间正好用到,但是忘得差不多了,获得的方式有很多种,这种东西不写下来一段时间不用就忘得差不多了,感觉记性越来越差了呢,这里稍微总结一下,大致分为以下7种(6种url传参,1种json传参):
-
指定前端url请求参数名称与方法名一致,见下图,这种方式简单来说就是url请求格式中的参数需要与方法的参数名称对应上:
-
第二种方式是通过HttpServletRequest来获取前端页面参数,代码见下图 ,简单来说就是通过调用request的getParameter方法来获取参数
-
第三种方式是通过创建一个JavaBean对象来封装表单参数或者是请求url路径中的参数,具体代码见下图(推荐使用!!!)
-
第四种方式是通过PathVariable注解来绑定请求路径的参数
-
第五种方式是通过RequestParam注解来获取
-
第六种方式是通过ModelAttribute方式来注入参数
-
第七种方式是通过RequestBody注解将前端传来的json格式的数据转为自己定义好的javabean对象(推荐使用!!!)
具体参考@RequestBody的使用
详细说明详见 https://blog.csdn.net/a532672728/article/details/78057218