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

配置请求头Content-Type

Content-Type有三种类型

// 1 默认的格式请求体中的数据会以json字符串的形式发送到后端
  'Content-Type: application/json '
// 2 请求体中的数据会以普通表单形式(键值对)发送到后端
  'Content-Type: application/x-www-form-urlencoded'
// 3 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件
  'Content-Type: multipart/form-data'
//4.纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。
‘Content-Type':text/plain

我们可以这样配置请求头

axios({
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'post',
    url: url,
    data: Qs.stringify(params)
})

或者是写到post的js文件

axios.js

axios.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded"

对于不同的请求头,后端接口要用不同的注解吸收数据,否则会报404

multipart/form-data指定传输数据为二进制类型,比如图片、mp3、文件。

text/plain:纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。

@RequestParam

1.均支持POST,GET请求
2.只支持Content-Type: 为 application/x-www-form-urlencoded编码的内容。Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)

@PostMapping
    public Result shopBtn(@RequestParam String token){
        System.out.println(token);
          return userShopService.checkShop(token);
    }

@RequestBody绑定一个对象实体

1.不支持get请求,因为get请求没有HttpEntity
2.必须要在请求头中申明content-Type(如application/json).springMvc通过HandlerAdapter配置的HttpMessageConverters解析httpEntity的数据,并绑定到相应的bean上
3.只能一个@RequestBody。
4.可以与@RequestParam一起使用,但建议最好不要与@RequestParam一起使用,是因为@RequestBody会将InputStream吃掉,造成后面的@RequsetParam无法匹配到参数而报400
 

 @PostMapping("/shopLogin")
    public Result shopLogin(@RequestBody User user){
        return userService.shopLogin(user);
    }

相关文章:

  • 企业搭建网站哪家好/厂房网络推广平台
  • 对网站做综合搜索引擎优化分析/百度推广费用一天多少钱
  • 中装建设股票行情/广州宣布5条优化措施
  • 家居企业网站建设精英/太原做网站哪家好
  • 做网站的第一步是确定主题/百度关键词规划师入口
  • 网站做政务/cpa游戏推广联盟
  • 公众号接口免费调用
  • numpy学习笔记
  • Windows内核--子系统(3.5)
  • java计算机毕业设计学生健康信息管理源程序+mysql+系统+lw文档+远程调试
  • 基于DNN深度学习网络的OFDM信号检测算法的matlab仿真,对比LS和MMSE两个算法
  • 游戏开发36课 cocoscreator scrollview优化
  • (三)沟通管理风险管理采购管理@相关方管理
  • JSP EL表达式的基本语法及运算符(超详细)
  • MySQL的主从复制与读写分离详解
  • 求二叉树中最大的二叉搜索子树的头节点
  • 《人类简史》笔记四—— 想象构建的秩序
  • Java 基础之线程