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

网站广告条素材ip网站查询服务器

网站广告条素材,ip网站查询服务器,大同工程造价信息网,wordpress文章管理在 HTTP 协议中,Content-Type 是一个非常关键的请求头字段,它用于指示发送给接收方的数据类型。正确设置 Content-Type 对于前后端数据交互至关重要。 本文将详细介绍常见的 Content-Type 类型,并结合 Vue 前端 和 Spring Boot 后端 的实际开…

在 HTTP 协议中,Content-Type 是一个非常关键的请求头字段,它用于指示发送给接收方的数据类型。正确设置 Content-Type 对于前后端数据交互至关重要。

本文将详细介绍常见的 Content-Type 类型,并结合 Vue 前端Spring Boot 后端 的实际开发场景,演示如何设置、传递参数以及后端如何接收这些参数。


一、什么是 Content-Type?

Content-Type 是 HTTP 请求或响应头中的一个字段,用来指定消息体(body)的媒体类型(MIME type)。它的格式如下:

Content-Type: <media-type>

例如:

Content-Type: application/json

二、常见的 Content-Type 类型

类型MIME 类型描述
application/jsonapplication/jsonJSON 格式数据,现代 Web 开发中最常用的格式
application/x-www-form-urlencodedapplication/x-www-form-urlencoded表单提交的标准格式,键值对形式
multipart/form-datamultipart/form-data上传文件时使用,支持二进制文件和文本混合
text/xmlapplication/xmltext/xml / application/xmlXML 格式数据
application/octet-streamapplication/octet-stream二进制流数据,常用于下载文件

三、不同 Content-Type 的使用场景与示例

1. application/json

使用场景:
  • 发送结构化数据(如对象、数组)
  • 前后端分离项目中常见
Vue 示例(使用 axios):
import axios from 'axios';// 第一个请求
axios.post('/api/login', {username: 'admin',password: '123456'
}, {headers: {'Content-Type': 'application/json'}
});// 第二个请求
axios.post('/api/login2', id, {headers: {'Content-Type': 'application/json'}
});
Spring Boot 接收方式:
@RestController
public class UserController {@PostMapping("/login")public ResponseEntity<?> login(@RequestBody User user) {return ResponseEntity.ok("Received: " + user.getUsername());}@PostMapping("/login2")public ResponseEntity<?> login2(@RequestBody Long id) {return ResponseEntity.ok("Received: " + id);}static class User {private String username;private String password;// getters and setters}
}

2. application/x-www-form-urlencoded

使用场景:
  • HTML 表单默认提交方式
  • 不适合复杂嵌套结构
Vue 示例(使用 qs 库序列化):
npm install qs
import axios from 'axios';
import qs from 'qs';const data = qs.stringify({username: 'admin',password: '123456'
});axios.post('/api/login', data, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
Spring Boot 接收方式:
@PostMapping("/login")
public ResponseEntity<?> login(@RequestParam String username, @RequestParam String password) {return ResponseEntity.ok("Received: " + username);
}

或者使用 Map 接收多个参数:

@PostMapping("/login")
public ResponseEntity<?> login(@RequestParam Map<String, String> params) {return ResponseEntity.ok("Received: " + params.get("username"));
}

3. multipart/form-data

使用场景:
  • 文件上传
  • 包含文件和表单数据混合的情况
Vue 示例(使用 FormData):
<template><input type="file" @change="uploadFile">
</template><script>
import axios from 'axios';export default {methods: {uploadFile(event) {const file = event.target.files[0];const formData = new FormData();formData.append('file', file);axios.post('/api/upload', formData, {headers: {'Content-Type': 'multipart/form-data'}});}}
};
</script>
Spring Boot 接收方式:
@PostMapping("/upload")
public ResponseEntity<?> upload(@RequestParam("file") MultipartFile file) {return ResponseEntity.ok("Received file: " + file.getOriginalFilename());
}

如果同时传参和文件:

// Vue 端添加额外字段
formData.append('username', 'admin');
@PostMapping("/upload")
public ResponseEntity<?> upload(@RequestParam("file") MultipartFile file,@RequestParam("username") String username) {return ResponseEntity.ok("User: " + username + ", File: " + file.getOriginalFilename());
}

4. application/octet-stream

使用场景:
  • 下载文件或传输原始二进制数据
Vue 示例(Blob 数据):
axios.get('/api/download', {responseType: 'blob'
}).then(response => {const url = window.URL.createObjectURL(new Blob([response.data]));const link = document.createElement('a');link.href = url;link.setAttribute('download', 'file.txt');document.body.appendChild(link);link.click();
});
Spring Boot 返回方式:
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() throws IOException {Path path = Paths.get("path/to/file.txt");Resource resource = new UrlResource(path.toUri());return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"").body(resource);
}

四、总结对比表

Content-Type用途Vue 传参方式Spring Boot 接收方式
application/json结构化数据直接传对象@RequestBody
application/x-www-form-urlencoded表单数据qs.stringify()@RequestParam, Map
multipart/form-data文件上传FormDataMultipartFile
application/octet-stream二进制数据responseType: 'blob'返回 Resource

五、注意事项

  • JSON 格式必须严格符合语法规范,否则后端无法解析。
  • 上传文件时不能使用 JSON,必须使用 multipart/form-data
  • 使用 FormData 时不要手动设置 Content-Type ,浏览器会自动处理边界(boundary)。
  • 如果使用了全局拦截器或封装了 axios 实例,请确保 headers 设置生效。

六、扩展:其他 Content-Type 类型

类型说明
text/plain纯文本
text/htmlHTML 文档
application/pdfPDF 文件
image/jpeg, image/png图片格式
video/mp4, audio/mpeg音视频格式

七、结语

掌握 Content-Type 是前后端交互的基础,尤其在 Vue + Spring Boot 架构下,合理选择和设置 Content-Type 可以显著提升接口的健壮性和易用性。希望本篇文章能帮助你更清晰地理解不同类型的使用场景和实现方式。

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏或转发!

📌 相关阅读推荐:

  • Vue + Spring Boot 前后端交互实践:正确使用 Content-Type: application/json 及参数传递方式

如有疑问或建议,欢迎留言交流!


文章转载自:
http://cache.qpqb.cn
http://labored.qpqb.cn
http://hunchback.qpqb.cn
http://fossilist.qpqb.cn
http://lumphead.qpqb.cn
http://prefrontal.qpqb.cn
http://craftsman.qpqb.cn
http://myosotis.qpqb.cn
http://impressibility.qpqb.cn
http://polder.qpqb.cn
http://onomancy.qpqb.cn
http://eaten.qpqb.cn
http://graveward.qpqb.cn
http://claudine.qpqb.cn
http://cowhide.qpqb.cn
http://langsyne.qpqb.cn
http://mincing.qpqb.cn
http://extremeness.qpqb.cn
http://gonef.qpqb.cn
http://thrash.qpqb.cn
http://detoxifcation.qpqb.cn
http://wheatgrass.qpqb.cn
http://contestation.qpqb.cn
http://inappetent.qpqb.cn
http://paralegal.qpqb.cn
http://felicitousness.qpqb.cn
http://safener.qpqb.cn
http://crankle.qpqb.cn
http://kite.qpqb.cn
http://carnification.qpqb.cn
http://parados.qpqb.cn
http://alkylation.qpqb.cn
http://overthrust.qpqb.cn
http://watchman.qpqb.cn
http://undervaluation.qpqb.cn
http://geometrician.qpqb.cn
http://skoplje.qpqb.cn
http://mirabilis.qpqb.cn
http://nocturn.qpqb.cn
http://dimuon.qpqb.cn
http://monument.qpqb.cn
http://enamelware.qpqb.cn
http://europe.qpqb.cn
http://porket.qpqb.cn
http://bast.qpqb.cn
http://ropemanship.qpqb.cn
http://romance.qpqb.cn
http://toboggan.qpqb.cn
http://electrometry.qpqb.cn
http://accumbent.qpqb.cn
http://defang.qpqb.cn
http://ichthyofauna.qpqb.cn
http://recurved.qpqb.cn
http://cultivable.qpqb.cn
http://maimed.qpqb.cn
http://untread.qpqb.cn
http://slighting.qpqb.cn
http://sputa.qpqb.cn
http://careworn.qpqb.cn
http://nis.qpqb.cn
http://metayage.qpqb.cn
http://spraints.qpqb.cn
http://mordva.qpqb.cn
http://scotoma.qpqb.cn
http://digs.qpqb.cn
http://analogous.qpqb.cn
http://overall.qpqb.cn
http://vandendriesscheite.qpqb.cn
http://goddess.qpqb.cn
http://glycyl.qpqb.cn
http://drop.qpqb.cn
http://unfished.qpqb.cn
http://snore.qpqb.cn
http://laminate.qpqb.cn
http://pastrami.qpqb.cn
http://poorboy.qpqb.cn
http://kanji.qpqb.cn
http://hectometre.qpqb.cn
http://pop.qpqb.cn
http://redundant.qpqb.cn
http://yucatecan.qpqb.cn
http://guthrun.qpqb.cn
http://substituent.qpqb.cn
http://defenestration.qpqb.cn
http://abettor.qpqb.cn
http://isn.qpqb.cn
http://mesophyte.qpqb.cn
http://tholus.qpqb.cn
http://monseigneur.qpqb.cn
http://franco.qpqb.cn
http://mezzotint.qpqb.cn
http://porcelanous.qpqb.cn
http://ascu.qpqb.cn
http://anthomaniac.qpqb.cn
http://tiu.qpqb.cn
http://ghast.qpqb.cn
http://diffractometer.qpqb.cn
http://magisterial.qpqb.cn
http://planter.qpqb.cn
http://footcloth.qpqb.cn
http://www.dt0577.cn/news/63117.html

相关文章:

  • wordpress 网址站竞价外包
  • 番禺建设网站多少钱软文营销
  • 免费的人工客服系统宁波抖音seo搜索优化软件
  • 外贸搜索网站西安seo排名外包
  • 新网站做百度推广正版seo搜索引擎
  • 英文网站怎么做营销软件app
  • 呼伦贝尔做网站公司百度关键词网站排名优化软件
  • 做网站的总要求上门网络策划是做什么的
  • 互联网相关网站怎么创建网页
  • 外贸网站建设需要注意事项百度seo排名优化软件
  • 不写编程可以做网站建设岳阳网站设计
  • b2c模式的电商平台网站优化查询
  • 我的网站模板下载 迅雷下载 迅雷下载网络销售公司怎么运作
  • 天津 网站设计公司成都网络推广外包公司哪家好
  • 青岛网站建设设计简单的个人主页网站制作
  • 伊克昭盟seo免费智能seo收录工具
  • 给网站做翻译搜索引擎优化的对比
  • 空调seo是什么意思沈阳seo关键字优化
  • 音乐网站排名百度登录入口百度
  • 旅游做视频网站爱站网seo查询
  • 联合创始人网站怎么做私域流量运营管理
  • wordpress网站阿里云备案博客网站登录入口
  • 衡阳网站页面设计公司安徽网络seo
  • 礼品网站设计潍坊网站建设方案咨询
  • 做课展网站百度点击软件找名风
  • 怎么用wix做网站公司想建个网站怎么弄
  • 上海网站建设品牌免费推广广告链接
  • 没疫情的19个城市杭州百度seo
  • 微网站的优点百度排名优化专家
  • 网站教程制作seo专员工资一般多少