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

html怎么做网站合肥最新消息今天

html怎么做网站,合肥最新消息今天,cms网站管理系统制作,网站建设课程设计格式目录 响应数据类型: 一、自动 JSON 响应 1 实现解析 二、文件下载 1 核心实现 2 优化与问题 响应数据类型: 一、自动 JSON 响应 1 实现解析 RestController 作用 类注解,自动将方法返回值序列化为 JSON(无需 ResponseBody …

目录

响应数据类型:

一、自动 JSON 响应

1 实现解析

二、文件下载

1 核心实现

2 优化与问题


响应数据类型:

一、自动 JSON 响应

1 实现解析
  1. @RestController 作用

    • 类注解,自动将方法返回值序列化为 JSON(无需 @ResponseBody 注解)。

    • 底层依赖 HttpMessageConverter(如 Jackson 库)。

  2. emailUsers 对象封装

    • 创建 POJO 实例并填充属性,Spring 自动转换属性名为 JSON 字段(如 account → "account")。

    • 复杂属性(如 String[] hobby)会被处理为 JSON 数组。

  3. 适用场景

    • 快速构建 RESTful API,返回结构化数据(如查询用户信息)。

    • 无需手动处理响应头或内容协商。

    // 会自动将返回值封装成JSON格式返回给客户端@RequestMapping("/request01")public emailUsers handleRequest() {emailUsers emailUser = new emailUsers();emailUser.setAccount("zhangsan");emailUser.setPw("123456");emailUser.setGender("男");emailUser.setHid("1");emailUser.setPlace("北京");emailUser.setOther("无");emailUser.setHobby(new String[]{"打球", "看电影" });System.out.println(emailUser);return emailUser;}

二、文件下载

1 核心实现
  1. ResponseEntity<InputStreamResource>

    • 封装响应实体,精确控制状态码、头部和正文。

    • InputStreamResource 将文件流包装为响应体,避免直接加载文件到内存。

  2. 关键配置

    • 文件名编码URLEncoder.encode() 解决中文乱码。

    • 内容类型MediaType.APPLICATION_OCTET_STREAM 表示二进制流。

    • 内容长度contentLength() 声明文件大小(非必须,但利于浏览器进度显示)。

    • 下载头Content-Disposition 触发浏览器下载行为。

2 优化与问题
  1. 大文件处理

    • 问题inputStream.readAllBytes() 会将文件全部读入内存,大文件易导致 OOM。

    • 解决:直接传递 InputStreamResource 流式返回,无需预读字节。

  2. 资源关闭问题

    • 风险inputStream.close() 后仍返回 InputStreamResource,可能导致流关闭异常。

    • 建议:使用 try-with-resources 或确保流在响应结束后关闭(如通过 FileSystemResource 自动管理)。

    /*** 文件下载* HttpEntity:拿到整个响应数据(响应头,响应体,状态码)* 1 文件名中文会乱码* 2 文件太大会内存溢出*/@RequestMapping("/request02")public ResponseEntity<InputStreamResource> handleRequest02() throws IOException {FileInputStream inputStream = new FileInputStream("D:\\test.txt");byte[] bytes = inputStream.readAllBytes();//解决中文乱码String encode = URLEncoder.encode("文本.txt", StandardCharsets.UTF_8);//解决文件太大内存溢出InputStreamResource resource = new InputStreamResource(inputStream);inputStream.close();return ResponseEntity.ok()//文件类型.contentType(MediaType.APPLICATION_OCTET_STREAM)//内容大小.contentLength(inputStream.available())//内容处理方式.header("Content-Disposition", "attachment;filename=" + encode).body(resource);}

http://www.dtcms.com/wzjs/454806.html

相关文章:

  • 网络咨询网站百度爱采购怎么推广
  • 企业做网站哪家网站好站长之家seo
  • 自己房子做民宿挂什么网站营销怎么做
  • 做厨柜有招聘网站吗怎样做产品推广
  • 长春网站制作允许吗网络营销有哪几种方式
  • 快速网站排名免费源码资源源码站
  • 当前国内疫情形势最新判断青岛设计优化公司
  • wordpress主题数据库广东公司搜索seo哪家强
  • 汉中做网站软文范例300字
  • 天津网站建设制作软件seo网站优化专员
  • 网站建设与维护中职抖音seo查询工具
  • 亚马逊一般在哪些网站上做推广百度一下百度首页登录
  • 手机网站用什么系统网站制作推广电话
  • 基于WEB的企业网站开发 开题报告网络推广自学
  • 温州网络科技技术有限公司seo还有哪些方面的优化
  • 青海海东住房和城乡建设局网站新闻发布
  • 邳州建设银行招聘网站网络推广工作室
  • 表格如何给网站做链接地址惠州百度seo排名
  • 做网站一般用什么配置的电脑设计一个简单的网页
  • 超市的网站怎么建设天津网站快速排名提升
  • wordpress多站点使用其他域名企业邮箱登录
  • 做汽车价格的网站建设品牌宣传推广方案
  • 高端网站建设公司排行今日头条指数查询
  • python web 做的网站seo优化公司如何做
  • 湖南网站推广免费网站安全软件大全
  • 网站代码在哪里写西安seo排名优化推广价格
  • 乌鲁木齐网站建设公司网络推广怎么学
  • 贵港市住房和城乡规划建设委员会网站中国500强最新排名
  • 政府网站建设经验交流材料百度网址提交
  • 做美食的视频网站本周热点新闻事件