当前位置: 首页 > news >正文

时间请求参数、响应

        (7)时间请求参数

  • 1.默认格式转换

    • 控制器

    @RequestMapping("/commonDate")
    @ResponseBody
    public String commonDate(Date date){System.out.println("默认格式时间参数 date ==> "+date);return "{'module' : commonDate}";
    }
    • 发送请求

    • f31926eb8e8d4673912302769c4ec0fa.png

    • a79f9405ccbe41f3917908a938043c16.png

    • 采取默认格式转换无需其它操作,但是对字符串格式有要求只能是yyyy/MM/dd HH:mm:ss

    • 5a72d0e5bfe4412182ebf5ee9d882847.png

  • 2.自定义时间格式转换

    • 在SpringMVCConfig配置类中开启注解支持@EnableWebMvc

    @Configuration
    @ComponentScan("dateParam")
    @EnableWebMvc
    public class SpringMVCConfig {...}
    • 在控制器参数上使用@DateTimeFormat(pattern="yyyy&MM&dd HH:mm:ss")==》pattern的值问自定义参数,&==》日期任意连接符

    @RequestMapping("/customDate")
    @ResponseBody
    public String customDate(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@DateTimeFormat(pattern = "yyyy-MM-dd HH.mm.ss") Date date2) {System.out.println("自定义格式时间参数 date(yyyy-MM-dd) ==> " + date);System.out.println("自定义格式时间参数 date(yyyy-MM-dd HH.mm.ss) ==> " + date2);return "{'module' : customDate}";
    }
    • 发送请求

    • a054adaedfaa453585e49e03705627e9.png

(8)内部实现原理

  • SpringMVC实现下列自动转换

    • 前端传递字符串,后端使用日期Date接收

    • 前端传递JSON数据,后端使用对象接收

    • 前端传递字符串,后端使用Integer接收

    • 后台需要的数据类型有很多中

    • 在数据的传递过程中存在很多类型的转换

  • 如何实现自动转换的呢?

    • SpringMVC中提供了很多类型转换接口和实现类

    • 在框架中,有一些类型转换接口,其中有:

    • (1) Converter接口

/**
*   S: the source type
*   T: the target type
*/
public interface Converter<S, T> {@Nullable//该方法就是将从页面上接收的数据(S)转换成我们想要的数据类型(T)返回T convert(S source);
}
  • 注意:Converter所属的包为org.springframework.core.convert.converter

    • Converter接口的实现类

    • c5e49cee0e5542ef8aa9168cba7063c0.png

  • 框架中有提供很多对应Converter接口的实现类,用来实现不同数据类型之间的转换,如:

  • 请求参数年龄数据(String→Integer)

  • 日期格式转换(String → Date)

    • (2) HttpMessageConverter接口

      • 该接口是实现对象与JSON之间的转换工作

    ※※※注意:SpringMVC的配置类把@EnableWebMvc当做标配配置上去,不要省略※※※

(9)响应

  • 1.响应页面

    • 控制器

    @RequestMapping("/toJumpPage")
    @RequestBody
    public String toJumpPage(){return "index.jsp";
    }
    • 发送请求

    • cce4241c82044d19b60e8dcd68da50b7.png

    • 使用@RequestBody注解后请求响应的是字符串,并非页面,这是由于页面响应返回的是目标路径,注解后它不会解析其路径

    • a8e4edb49b29435da0d57c5b6d596844.png

  • 2.响应纯文本

    • 控制器

    //@RequestMapping("/toText")
    @RequestMapping(value = "/toText",produces =  {"text/html;charset=UTF-8;", "application/json;"})
    @ResponseBody
    public String toText(){return "纯文本";
    }
    • 发送请求

    • 540cbcd0ba4346eb8eefa76dc0b8dac5.png

    • 响应中文乱码==》在@RequestMapping上使用属性produces设置编码

    • 0b181dddf4434859b71f389ac875aaea.png

  • 3.响应POJO对象

    • 控制器

    @RequestMapping("/toPojo")
    @ResponseBody
    public User toPojo(){return new User("模拟数据库用户1",18);
    }
    • 发送请求

    • d5402f8a1b39426ab8c1aaa188041cb0.png

  • 4.响应POJO对象集合

    • 控制器

    @RequestMapping("/toPojoList")
    @ResponseBody
    public List<User> toPojoList(){User user = new User("模拟数据库用户1", 18);User user2 = new User("模拟数据库用户2", 19);User user3 = new User("模拟数据库用户3", 20);ArrayList<User> list = new ArrayList<User>();list.add(user);list.add(user2);list.add(user3);return list;
    }
    • 发送请求

    • 9da5425d28794125bae42d2ebd8696b0.png

 

相关文章:

时间请求参数、响应

&#xff08;7&#xff09;时间请求参数 1.默认格式转换 控制器 RequestMapping("/commonDate") ResponseBody public String commonDate(Date date){System.out.println("默认格式时间参数 date > "date);return "{module : commonDate}"; }…...

PyTorch图像预处理:计算均值和方差以实现标准化

在深度学习中&#xff0c;图像数据的预处理是一个关键步骤&#xff0c;它直接影响模型的训练效果和收敛速度。PyTorch提供的transforms.Normalize()函数允许我们对图像数据进行标准化处理&#xff0c;即减去均值并除以方差。这一步骤对于提高模型性能至关重要。 为什么需要标准…...

slice介绍slice查看器

Android Jetpack架构组件(十)之Slices - 阅读清单 - 腾讯云开发者社区-腾讯云 slice 查看器apk 用adb intall 安装 Releases android/user-interface-samples GitHubMultiple samples showing the best practices in the user interface on Android. - Releases android/u…...

Android音频采集

在 Android 开发领域&#xff0c;音频采集是一项非常重要且有趣的功能。它为各种应用程序&#xff0c;如语音聊天、音频录制、多媒体内容创作等提供了基础支持。今天我们就来深入探讨一下 Android 音频采集的两大类型&#xff1a;Mic 音频采集和系统音频采集。 1. Mic音频采集…...

通过轻易云平台实现聚水潭数据高效集成到MySQL的技术方案

聚水潭数据集成到MySQL的技术案例分享 在本次技术案例中&#xff0c;我们将详细探讨如何通过轻易云数据集成平台&#xff0c;将聚水潭的数据高效、可靠地集成到MySQL数据库中。具体方案为“聚水谭-店铺查询单-->BI斯莱蒙-店铺表”。这一过程不仅需要处理大量数据的快速写入…...

类和对象( 中 【补充】)

目录 一 . 赋值运算符重载 1.1 运算符重载 1.2 赋值运算符重载 1.3 日期类实现 1.3.1 比较日期的大小 : 1.3.2 日期天数 : 1.3.3 日期 - 天数 : 1.3.4 前置/后置 1.3.5 日期 - 日期 1.3.6 流插入 << 和 流提取 >> 二 . 取地址运算符重载 2.1 const…...

如何使用gpio模拟mdio通信?

一、前言 实际项目开发中&#xff0c;由于设计原因&#xff0c;会将phy的mdio引脚连接到SoC的2个空闲gpio上&#xff0c; 这样就无法通过Gmac自有的架构实现修改phy&#xff0c; 因此只能通过GPIO模拟的方式实现MDIO&#xff0c; 好在Linux支持MDIO via GPIO功能。 该功能…...

C# 中的事件和委托:构建响应式应用程序

C#中的事件和委托。事件和委托是C#中用于实现观察者模式和异步回调的重要机制&#xff0c;它们在构建响应式和交互式应用程序中发挥着重要作用。以下是一篇关于C#中事件和委托的文章。 引言 事件和委托是C#语言中非常重要的特性&#xff0c;它们允许你实现观察者模式和异步回…...

科技赋能健康:多商户Java版商城系统引领亚健康服务数字化变革

在当今社会&#xff0c;随着生活节奏的加快和工作压力的增大&#xff0c;越来越多的人处于亚健康状态。据《The Lancet》期刊2023年的统计数据显示&#xff0c;全球亚健康状态的人群比例已高达82.8%&#xff0c;这一数字背后&#xff0c;隐藏着巨大的健康风险和社会成本。亚健康…...

区块链网络示意图;Aura共识和Grandpa共识(BFT共识)

目录 区块链网络示意图 Aura共识和Grandpa共识(BFT共识) Aura共识 Grandpa共识(BFT共识) Aura与Grandpa的结合 区块链网络示意图 CP Blockchain:这是中央处理区块链(或可能指某种特定的处理单元区块链)的缩写。它可能代表了该区块链网络的主要处理或存储单元。在这…...

Javaweb梳理18——JavaScript

今日目标 掌握 JavaScript 的基础语法掌握 JavaScript 的常用对象&#xff08;Array、String&#xff09;能根据需求灵活运用定时器及通过 js 代码进行页面跳转能通过DOM 对象对标签进行常规操作掌握常用的事件能独立完成表单校验案例 18.1 JavaScript简介 JavaScript 是一门跨…...

面向对象-接口的使用

1. 接口的概述 为什么有接口&#xff1f; 借口是一种规则&#xff0c;对于继承而言&#xff0c;部分子类之间有共同的方法&#xff0c;为了约束方法的使用&#xff0c;使用接口。 接口的应用&#xff1a; 接口不是一类事物&#xff0c;它是对行为的抽象。 2. 接口的定义和使…...

失落的Apache JDBM(Java Database Management)

简介 Apache JDBM&#xff08;Java Database Management&#xff09;是一个轻量级的、基于 Java 的嵌入式数据库管理系统。它主要用于在 Java 应用程序中存储和管理数据。这个项目已经过时了&#xff0c;只是发表一下以示纪念&#xff0c;现在已经大多数被SQLite和Derby代替。…...

Vue3+SpringBoot3+Sa-Token+Redis+mysql8通用权限系统

sa-token支持分布式token 前后端代码&#xff0c;地球号: bright12389...

MySQL 三大日志详解

在 MySQL 数据库中&#xff0c;binlog&#xff08;二进制日志&#xff09;、redo log&#xff08;重做日志&#xff09;和 undo log&#xff08;回滚日志&#xff09;起着至关重要的作用。它们共同保障了数据库的高可用性、数据一致性和事务的可靠性。下面将对这三大日志进行详…...

Java 岗面试八股文及答案整理(2024最新版)

春招&#xff0c;秋招&#xff0c;社招&#xff0c;我们 Java 程序员的面试之路&#xff0c;是挺难的&#xff0c;过了 HR&#xff0c;还得被技术面&#xff0c;小刀在去各个厂面试的时候&#xff0c;经常是通宵睡不着觉&#xff0c;头发都脱了一大把&#xff0c;还好最终侥幸能…...

Web3.0安全开发实践:Clarity最佳实践总结

在过去的一段时间里&#xff0c;CertiK团队对比特币生态系统及其发展进行了深入研究。同时&#xff0c;团队还审计了多个比特币项目以及基于不同编程语言的智能合约&#xff0c;包括OKX的BRC-20钱包和MVC DAO的sCrypt智能合约实现。 现在&#xff0c;我们的研究重点转向了Clar…...

基于Springboot+Vue动漫推荐平台管理系统(源码+lw+讲解部署+PPT)

前言 详细视频演示 论文参考 系统介绍 系统概述 核心功能 用户角色与功能 具体实现截图 1. 热门动漫功能 2. 文章专栏功能 3. 会员分享功能 4. 热门动漫管理功能&#xff08;管理员端&#xff09; 5. 动漫分类管理功能 技术栈 后端框架SpringBoot 前端框架Vue …...

秋意浓,森林披金装

秋意浓&#xff0c;森林披金装&#xff0c; 枫叶如火&#xff0c;漫山遍野狂。 松间轻风送寒意&#xff0c; 鸟鸣悠扬入云翔。 林间小径蜿蜒行&#xff0c; 落叶铺成金色毯。 溪水潺潺绕石转&#xff0c; 映出天边一抹霞。 野菊点缀在草间&#xff0c; 白云悠悠随意闲。…...

Chrome离线安装包下载

1、问Chrome的官网&#xff1a;https://www.google.cn/chrome/ 直接下载的是在线安装包&#xff0c;安装需要联网。 2、如果需要在无法联网的设备上安装Chrome&#xff0c;需要在上面的地址后面加上?standalone1。 Chrome离线安装包下载地址&#xff1a;https://www.google.c…...

安卓手机5G网络频繁掉4G 问题解决 手机5G网络优化方案

问题环境 在某个长期停留的位置&#xff08;例如&#xff1a;躺平&#xff09;使用手机时网络突然从5G跳到4G&#xff0c;偶尔跳来跳去导致网络体验很差&#xff0c;经过调整5G网络情况下网速及其他体验都要更好&#xff0c;基于这样的情况使用一种简单的操作&#xff0c;锁定5…...

使用LLaMA-Factory微调时的问题与解决方案记录

文章目录 如何指定微调使用的显卡如何解决显卡通信导致的报错模型微调的实际epoch和step如何计算如何实现多卡全量微调模型微调后的结果如何查看模型测试后的指标如何理解如何指定微调使用的显卡 启动网页时使用这种执行命令 CUDA_VISIBLE_DEVICES=5,6,7 llamafactory-cli we…...

Go语言switch语句

在Go语言中&#xff0c;switch&#xff0c;是一个高度灵活&#xff0c;其功能强大的控制结构&#xff0c;相比较Java中的switch&#xff0c;更受到语言重视。 目录 1.基础用法2.多值匹配3.不指定表达式的 switch4.使用 fallthrough 强制进入下一个分支5.使用类型断言的 switch…...

JavaScript DOM使用

DOM Document Object Model 简单而言&#xff0c;就是JavaScript将HTML文档的各个组成部分封装为对象。 封装的对象分别为&#xff1a; Document&#xff1a;整个HTML的文档对象 Element&#xff1a;元素对象&#xff08;也就是HTML中的标签&#xff09; Attribute&#xff1a;…...

人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状

一、简述 微表情是一种特殊的面部表情,与普通的表情相比,微表情主要有以下特点: 持续时间短,通常只有1/25s~1/3s;动作强度低,难以察觉;在无意识状态下产生,通常难以掩饰或伪装;对微表情的分析通常需要在视频中,而普通表情在图像中就可以分析。由于微表情在无意识状态…...

耿恭坚守城池的方法

疏勒城之战中&#xff0c;耿恭坚守城池的方法主要有以下几点&#xff1a; 选择有利地势&#xff1a;耿恭深知疏勒城依山傍水、地势险要&#xff0c;易守难攻&#xff0c;于是果断放弃金满城&#xff0c;移师至疏勒城据守&#xff0c;为长期坚守创造了良好的地理条件.运用心理战…...

小兔鲜项目总结——项目亮点

目录 1、基于业务的逻辑组件拆分思想2、长页面吸顶交互的实现3、自定义图片懒加载指令并封装为插件4、画板插槽组件等业务通用组件封装5、通用逻辑函数的封装6、列表无限加载7、路由缓存问题的处理 小兔鲜项目其实在暑假之前就已经做完了&#xff0c;但是一直没有空做总结&…...

Cesium的ClearCommand的流程

ClearCommand是在每帧渲染前可以将显存的一些状态置为初始值&#xff0c;就如同把擦黑板。当然也包括在绘制过程中擦掉部分的数据&#xff0c;就如同画家在开始绘制的时候会画导览线&#xff08;如透视线&#xff09;&#xff0c;轮廓出来后这些导览线就会被擦除。 我画了一个…...

Fakelocation Server服务器/专业版 ubuntu

前言:需要Ubuntu系统 Fakelocation开源文件系统需求 Ubuntu | Fakelocation | 任务一 任务一 更新Ubuntu&#xff08;安装下载不再赘述&#xff09; sudo -i # 提权 sudo apt update # 更新软件包列表 sudo apt upgrade # 升级已安装的软…...

Spring AI Alibaba 快速入门

Spring AI Alibaba 实现了与阿里云通义模型的完整适配&#xff0c;接下来&#xff0c;我们将学习如何使用 spring ai alibaba 开发一个基于通义模型服务的智能聊天应用。 一、快速体验示例 注意&#xff1a;因为 Spring AI Alibaba 基于 Spring Boot 3.x 开发&#xff0c;因此…...