1 RequestMapping注解的作用
作用: 用于建立请求URL和处理请求方法之间的对应关系
客户端一定会发一个请求过来,那么后台一定要有一个方法去执行它。
把发送请求的这个地址路径跟这个方法建立一个映射关联
你发送这个请求,那我这个方法就执行。
那么RequestMapping 就是来建立两者之间的关系的
反过来理解一下:我们写了一个方法,那别人想请求这个方法怎么办?
我们需要加一个映射关联,再这个方法上加一个RequestMapping注解。
我们只要请求RequsetMapping(path=“xxx”)
path中的xxx地址,就可以执行这个方法了。
测试一下:
启动之后:
点击进入:
测试方法成功!!!!
如果我们这个Controller这个类是一个User
然后我们里面写了增删改查的方法
我们可以再这个类上面添加@RequstMapping(path=”xxx“)
改变成这样才可以访问成功:
2 RequestMapping注解的属性
- value
- method
- params
属性1 path和value的作用一致
查看一下RequestMapping 里面的源码
其中path和value两个都是相互的
那么我们将path和value互换一下 再次运行一下程序
如果我再@RequestMapping中只放了一个属性(method,value,path中的一个)
我们可以直接写成这样
发现运行结果是一样的
属性2 method
用于指定请求的方式
我们此时运行程序,点击超链接:
超链接发送请求方式是固定的,一定会发送GET请求方式
如果我规定我这个方法只能用POST请求来访问我。
如果点超链接,那么这个方法就不会执行。
再RequestMethod中是枚举类
我们进行更改:
再次运行,一点击:
报错405 方法GET不被支持
属性3 patams
用于指定限制请求参数的条件,它支持简单的表达式,要求请求参数的key和value必须和配置的一摸一样
如果我再上方写一个username
含义:一会我请求这个testRequestMapping()方法,必须要传一个username的属性,如果没有传这个方法就不被执行
此时我们没有传入参数:
报错400
此时传入一个username=hehe
再次运行,就没有报错:
如果我的配置上写的是username=heihei
传的是hehe
总结: 配置上的key和value必须一致!!!!
报错:
4 headers 发送哈哈的请求中必须包含的请求头
运行成功:
按住F12