【Java开发】Java热门框架深入开发第8篇:三、REST风格,3 日期类型参数传递【重点】,4 响应【附代码文档】

34 阅读1分钟

🏆🏆🏆教程全知识点简介:学习目标 一、Spring简介 2 初识Spring 3 Spring体系结构 二、IOC和DI入门案例【重点】 五、Bean的生命周期【了解】 问题导入 1 生命周期相关概念介绍 2 代码演示 3 Bean销毁时机 六、依赖注入(DI配置) 1 依赖注入方式【重点】 2 依赖自动装配【理解】 3 集合注入 今日目标 一、第三方资源配置管理 1 管理DataSource连接池对象 2 加载properties属性文件【重点】 四、Spring整合其他技术【重点】 二、AOP案例 1 案例-测量业务层接口万次执行效率 2 AOP切入点数据获取 2 Spring事务角色【理解】 二、请求与响应 1 请求映射路径【重点】 2 请求参数 3 日期类型参数传递【重点】 4 响应 三、REST风格 1 REST简介 2 RESTful入门案例 3 REST快速开发【重点】 今日内容 一、SSM整合【重点】 1 SSM整合配置 三、异常处理器【理解】 1 异常介绍 2 异常处理器 一、分模块开发与设计 1. 分模块开发的意义 模块拆分原则 2. 分模块开发(模块拆分) 二、依赖管理 1. 依赖传递 2. 可选依赖 4 可选依赖和排除依赖的区别 三、聚合与继承 1. 聚合工程 3. 继承关系 5. 聚合与继承的区别 四、属性管理 1. 属性 2. 版本管理 五、多环境配置与应用 1. 多环境配置作用 2. 跳过测试(了解) 六、私服 2. 私服仓库分类 3. 资源上传与下载 附件1:POM文件总体配置说明 一、MyBatisPlus简介 1. 入门案例 二、标准数据层开发 2. Lombok插件介绍 四、DML编程控制 1. id生成策略控制(Insert) 2. 多记录操作(批量Delete/Select) 3. 逻辑删除(Delete/Update) 4. 乐观锁(Update)


📚📚👉👉👉本站这篇博客:   juejin.cn/post/754376…    中查看

📚📚👉👉👉本站这篇博客:   juejin.cn/post/754718…    中查看

✨ 本教程项目亮点

🧠 知识体系完整:覆盖从基础原理、核心方法到高阶应用的全流程内容
💻 全技术链覆盖:完整前后端技术栈,涵盖开发必备技能
🚀 从零到实战:适合 0 基础入门到提升,循序渐进掌握核心能力
📚 丰富文档与代码示例:涵盖多种场景,可运行、可复用
🛠 工作与学习双参考:不仅适合系统化学习,更可作为日常开发中的查阅手册
🧩 模块化知识结构:按知识点分章节,便于快速定位和复习
📈 长期可用的技术积累:不止一次学习,而是能伴随工作与项目长期参考


🎯🎯🎯全教程总章节


🚀🚀🚀本篇主要内容

3 日期类型参数传递【重点】

问题导入

@DateTimeFormat注解的作用是什么?

3.1 代码演示
  • 日期类型数据基于系统不同格式也不尽相同 2088-08-18 2088/08/18 08/18/2088
  • 接收形参时,根据不同的日期格式设置不同的接收方式

//日期参数 http://localhost:80/dataParam?date=2088/08/08&date1=2088-08-18&date2=2088/08/28 8:08:08
//使用@DateTimeFormat注解设置日期类型数据格式,默认格式yyyy/MM/dd
@RequestMapping("/dataParam")
@ResponseBody
public String dataParam(Date date,
                  @DateTimeFormat(pattern="yyyy-MM-dd") Date date1,
                  @DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss") Date date2){
    System.out.println("参数传递 date ==> "+date);
    System.out.println("参数传递 date1(yyyy-MM-dd) ==> "+date1);
    System.out.println("参数传递 date2(yyyy/MM/dd HH:mm:ss) ==> "+date2);
    return "{'module':'data param'}";
}
3.2 @DateTimeFormat注解介绍
  • 名称:@DateTimeFormat

  • 类型:==形参注解==

  • 位置:SpringMVC控制器方法形参前面

  • 作用:设定日期时间型数据格式

  • 属性:pattern:指定日期时间格式字符串

3.3 工作原理
  • 其内部依赖Converter接口
public interface Converter<S, T> {
    @Nullable
    T convert(S var1);
}
  • 请求参数年龄数据(String→Integer)
  • json数据转对象(json → POJO)
  • 日期格式转换(String → Date)
3.4 注意事项

传递日期类型参数必须在配置类上使用@EnableWebMvc注解。其功能之一:根据类型匹配对应的类型转换器。

4 响应

问题导入

如何响应json数据?

4.1响应页面【了解】
@Controller
public class UserController {

    //响应页面/跳转页面
    //返回值为String类型,设置返回值为页面名称,即可实现页面跳转
    @RequestMapping("/toJumpPage")
    public String toJumpPage(){
        System.out.println("跳转页面");
        return "page.jsp";
    }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <h2>Hello Spring MVC!</h2>
    </body>
</html>
4.2 文本数据【了解】
//响应文本数据
//返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解
@RequestMapping("/toText")
@ResponseBody
public String toText(){
    System.out.println("返回纯文本数据");
    return "response text";
}
4.3 json数据【重点】
//响应POJO对象
//返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
@RequestMapping("/toJsonPOJO")
@ResponseBody
public User toJsonPOJO(){
    System.out.println("返回json对象数据");
    User user = new User();
    user.setName("itcast");
    user.setAge(15);
    return user;
}
//响应POJO集合对象
//返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
@RequestMapping("/toJsonList")
@ResponseBody
public List<User> toJsonList(){
    System.out.println("返回json集合数据");
    User user1 = new User();
    user1.setName("传智播客");
    user1.setAge(15);

    User user2 = new User();
    user2.setName("黑马程序员");
    user2.setAge(12);

    List<User> userList = new ArrayList<User>();
    userList.add(user1);
    userList.add(user2);

    return userList;
}

==注意:需要添加jackson-databind依赖以及在SpringMvcConfig配置类上添加@EnableWebMvc注解==

三、REST风格

1 REST简介

问题导入

Rest风格使用了几种请求方式定义访问行为?

1.1 REST介绍
1.2 RESTful介绍
1.3 注意事项
  • 上述行为是约定方式,约定不是规范,可以打破,所以称REST风格,而不是REST规范
  • 描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts……

2 RESTful入门案例

问题导入

Rest风格如何通过路径传递参数?

2.1 快速入门

做法:在Controller中定义方法时设定"http请求动作(请求方式)"和"设定请求参数(路径变量)"

@Controller
public class UserController {

    //设置当前请求方法为POST,表示REST风格中的添加操作
    @RequestMapping(value = "/users",method = RequestMethod.POST)
    @ResponseBody
    public String save(){
        System.out.println("user save...");
        return "{'module':'user save'}";