今日学习:SpringMVC的注解->实际应用

1.@RequestMapping和参数的接收

RequestMapping注解详解:

a.路径的匹配(模糊匹配*/**和精准匹配)

b.注解生效的位置(类/方法)->类级别就是整个url的通用路径前缀,方法级别->url的具体路径前缀

c.请求方式的限制->例如:RequestMapping(values = "/login",method = {RequestMethod.POST,RequestMethod.PUT}) 就限制了只能使用post和put,而不标记method的话,就默认任意方法都可以使用,但是一般建议定义一个方法就用一个RequestMethod

d.简化的快捷注解->@GetMapping->@PostMapping->@PutMapping->@DeleteMapping->@PatchMapping

e.映射的冲突问题->要避免两个完全相同的请求路径和请求方式的出现->保证唯一性

2.QueryString的参数接收

a.直接接收参数灵活性低,且基本类型不能接收null,核心规则型参名字必须和请求参数的key完全一致

b.RequestParam:解决参数名不一致、必传控制、默认值设置等问题,是开发中最常用的参数接收注解;

c.当参数较多的时候,就考虑使用实体类接收,保证属性名和参数的key一致

d.一名多值接收:选择用List或者数组接收多选类参数,必须加@RequestParam

3.根据id查询用户详情以及路径参数

a.设计动态路径

b.用@PathVariable接收路径参数->1.参数名和路径名一致 ->2.参数名和路径名不一致(显式指定),就是通过注解直接绑定->3.多路径参数接收,可支持不同数据类型

4.RequestBody和JSON的参数传递

a.JSON的核心特点:1.纯文本,容易读取和传输 2.结构清晰->用"键值对"和"数组"来组织数据 3.具备跨语言性

b.JSON的数据格式->键值对(键必须用双引号,值支持多种类型) 支持嵌套结构和数组结构,单个数据对象整体用{ }包裹,最后一个键值对的末尾不加逗号

c.@RequestBody注解->接收JSON请求体的核心注解,实体类加@RequestBody接收JSON,不加会默认是QuerryString参数,整个注解仅仅适用与请求体的请求(put和post和patch)

扩展:

@RequestHeader请求头注解

原生Request对象获取(核心对象->HttpServletRequest){

1.方法参数直接声明HttpServletRequest,Spring 自动注入

2.请求方式->request.getMethod()

   请求路径->request.getRequestURL()或者(URI)

   请求头->request.getHeader("头名称")

   Querry参数->request.getParameter("参数名")

   请求体->request.getReader()读取流

}

百日大厂计划day21  大家一起加油!!!!!!!!!!!!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐