您的位置:首页 > 健康 > 美食 > Spring框架、03SpringMVC

Spring框架、03SpringMVC

2024/10/6 20:32:27 来源:https://blog.csdn.net/2402_84667776/article/details/140576781  浏览:    关键词:Spring框架、03SpringMVC

SpringMVC

SpringMVC入门

介绍

SpringMVC将Servlet一些通用功能进行了抽取和封装,使用它之后,代码主要有两部分组成:

  • 前端控制器:由SpringMVC提供,主要负责接收参数和返回数据

  • 处理器:由程序员编写,主要负责参数的处理和业务层调用

案例

入门案例

需求

  • 发送一个请求name=张三&age=18,后台接收参数,封装一个User对象返回json数据

步骤分析

  1. 创建web工程,添加依赖

  2. 添加web环境的初始类和核心配置类

  3. 创建实体类

  4. 创建处理器

  5. 部署项目到Tomcat

入门案例工作流程分析

注解

@RequestMapping

  • 名称:@RequestMapping

  • 位置:方法 类

  • 范例:

  • 属性:

    1. value: 等同于path,用于为当前方法绑定访问路径

    2. method:用于限制请求类型,如果省略此选项,代表不对请求类型做限制

  • 注意:此注解也可以标注在类上,代表类中的所有方法都可以共用一段URL

@ResponseBody

  • 作用:将方法返回值直接响应,如果返回值类型是 实体对象/集合 ,将会转换为JSON格式响应

  • 位置:Controller方法上/类上(如果标在类上,代表类中所有方法上都生效)

  • 简化:@RestController = @Controller + @ResponseBody ;

postman

postman

  • Postman是一款功能强大的接口调试工具

接受请求参数

简单、对象类型

简单类型

  • 需要保证前端传递的参数名称跟方法的形参名称一致

对象类型

  • 需要保证前端传递的参数名称跟实体类的属性名称一致

数组、集合类型

数组类型

  • 需要保证前端传递的参数名称跟方法中的数组形参名称一致

日期类型

日期类型

  • 使用 @DateTimeFormat 注解完成日期参数格式转换

Json参数

JSON参数

  • SpringMVC也可以接收请求体中的json字符串为参数,并且自动封装为指定对象

  • 此时要求JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用 @RequestBody 标识

路径参数

路径参数

  • springmvc还支持通过请求路径直接传递参数,后台使用{…}来标识该路径参数,需要使用 @PathVariable 获取

@RequestParam

  • 如果方法形参名称与请求参数名称不匹配,可以使用 @RequestParam 完成映射。

  • 使用@RequestParam还可以为参数设置默认值

注意事项

  • @RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。

  • 如果该参数是可选的,可以将required属性设置为false。

统一异常处理

出现异常,该如何处理?

  • 方案一:在Controller的方法中进行try…catch处理。代码臃肿,不推荐

  • 方案二: 全局异常处理。简单、优雅、推荐

全局异常处理器

注意事项

  • @RestControllerAdvice 标注在类上,声明当前类是一个用于专门处理异常的类

  • @ExceptionHandler 标注在方法上,声明当前方法可以处理哪些异常

Restful

开发规范-Restful

  • REST是一种软件架构风格,其强调HTTP应当以资源为中心[在请求地址中尽量的不要出现动词]。

  • REST使用不同的请求方式表示不同的操作操作: GET(获取)、POST(新建)、PUT(更新)、DELETE(删除)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com