JAVA+Agent学习day21
今日学习: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 大家一起加油!!!!!!!!!!!!
更多推荐
所有评论(0)