SpringMVC常用注解 及其 理解RESTFUL风格(固定连接 + 请求方式、方便缓存)

1)@RequestParam: 
	请求参数名字修改;
	可以required: 指定必须传递这个名字的参数;


2)@RequestBody: 获取请求体整个内容. 不适合get请求,因为get请求是封装到地址栏中;
	因此不能写href超链接, 必须写表单提交发起post请求;


  获取参数好像用处不大,因为得到请求体后,还要解析出来参数;
  在异步时需要用到, json-->对象;

  不是拿到某个请求参数,而是拿请求体;

3)PathVarabile: 占位符

	理解RSFT风格:

		UserController
			原来的:
				path="/user/save"
				save

				path="/user/update"
				update

				path="/user/findAll"
				findAll



			REST风格:
				path="/user" post
				save

				path="/user" put
				update

				path="/user"  get
				findAll


			localhost:8080/user post
				也就是是同一个地址,但是用不同的请求方式,让不同的方法去执行;

			注意:占位符出现了
				path="user/{id}"  get
				findById(id)

				localhost:8080/user/10 get

				注意: 是直接写10,而不是id=10

			好处: 让缓存容易管理. 因为:请求路径一样

			WebClient:使用静态方法,直接发请求。 比过滤器简单;


4)@RequestHeader: 用于获取请求消息头;

5)@CookieValue: 拿到Cookie的值

6)@ModelAttribute:
	可以放在:
		方法上:
			没有提交值,本来默认是null,但是我没有提交这个属性想用之前的默认的而不是提交个null;
			有返回值类型的:
				从数据库中查询完后,存到返回值中

			无返回值类型的: 
				需要用Map
		
		参数上:

7)@SessionAttributes(只能作用于类上):
	用于多次执行控制器间的参数共享:
		如从这个jsp跳转到另外一个jsp;

	Model

	存到Request域对象中;

	${requestScope}

	isELIgnored="false": 不忽略域表达式
		作用于类上后:
			msg存入到session域对象 ${sessionScope}中, 而不仅仅是${requestScope}中
				${msg} 或 ${requestScope.msg}

	清空Session域中的数据:
		SessionStatus: status.setComplete();
发布了1620 篇原创文章 · 获赞 144 · 访问量 179万+

猜你喜欢

转载自blog.csdn.net/themagickeyjianan/article/details/105178589
今日推荐