记 Content type ‘application/octet-stream‘ not supported

2023-05-16

项目场景:

实现一个入参方式为@RequestPart + @RequestParam(“files”)的接口,即该接口要包含文件上传和其它(实体类)入参。
示例代码:

    @PostMapping(value = "", consumes = {"multipart/form-data"})
    public Map<String, Object> createXX(@RequestPart("xxDto") XXDto xxDto,
                          									    @RequestParam("files") MultipartFile[] files) {
		// todo 业务逻辑
        }

@RequestPart:主要用来处理content-type为 multipart/form-data 或 multipart/mixed stream 发起的请求,可以获取请求中的参数,包括普通文本、文件或复杂对象比如json、xml等。
进一步了解可参考【随手记录】关于@RequestPart 与 @RequestParam


问题描述

在写完接口使用postman测试,入参如下:
在请求的 Body 标签中,选择 form-data 并添加以下字段:
Key: xxDto,Value: 将 JSON 对象作为文本粘贴到这里,包括 xxDto 对象的所有属性和值。
Key: files,Value: 选择要上传的第一个文件。
Key: files,Value: 选择要上传的第二个文件。在这里插入图片描述
看似没啥毛病了,但是发起请求后,服务器报错:

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported
	at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters

在这里插入图片描述


原因分析:

接口我们传入的是一个/多个 files 文件和一个 json 字符串,在postman中,我们要显示的指定CONTENT TYPE 为 application/json。

解决方案:

postman中,默认是不展示content Type这一列的,具体设置参考下图1->2->3,最后在json字符串那一行的CONTENT TYPE 输入application/json,问题得解。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记 Content type ‘application/octet-stream‘ not supported 的相关文章

随机推荐

  • Redis的事务

    一 Redis的事务是什么 xff1f 可以一次执行多个命令 xff0c 本质是一组命令的集合 一个事务中的所有命令都会序列化 xff0c 按顺序地串行化执行而不会被其它命令插入 xff0c 不许加塞 作用 xff1a 一个队列中 xff0
  • Redis的发布订阅

    一 Redis的发布订阅 进程间的一种消息通信模式 xff1a 发送者 xff08 pub xff09 发送消息 xff0c 订阅者 xff08 sub xff09 接收信息 订阅 发布消息图 xff1a 二 订阅 发布消息常用命令 PSU
  • Redis的复制(Master/Slave)

    一 Master Slave Replication 主从复制 主机数据更新后 xff0c 根据配置和策略 xff0c 自动同步到从 xff08 备 xff09 机的master slave机制 xff0c Master以写为主 xff0c
  • JVM入门学习记录

    一 JVM体系结构概述 xff11 JVM位置 xff08 JVM是运行在操作系统之上的 xff0c 它与硬件没有直接的交互 xff09 xff0c 如下图所示 xff1a 2 JVM的体系结构图 1 3 类装载器ClassLoader 类
  • 【笔记】IRC期待有缘人

    我在irc freenode net建了一个聊天室 oneroom xff0c 期待有缘人一起划水 xff01
  • office 2019 & visio 2016安装

    安装包和相关工具 xff1a visio 2016 专业版 xff1a office 2019 xff1a 相关工具 xff1a 安装步骤 xff1a visio 2016 和 office 2019 安装存在问题 xff0c 笔者安装遇到
  • 记MySQL中如何删除某个字段中的某个字符

    问题描述 xff1a 问题 xff1a 项目中对以逗号分隔的字符串进行指定字符修改删除时 xff0c 会导致其它字符无法使用 原因分析 xff1a SQL语句拼写错误 遗漏replace 中的第三个参数 xff0c 漏写了 xff0c 错误
  • wsl(win11安装Ubuntu) 安装问题

    项目场景 xff1a win 11 安装 Ubuntu 20 04 4报错 问题描述 Installing this may take a few minutes WslRegisterDistribution failed with er
  • WSL2-Debian启动docker(failed to start daemon: Error initializing network controller: error obtaining)

    项目场景 xff1a 原文地址 win11 安装Ubuntu 222 04LST WSL2 Debian启动docker报错 failed to start daemon Error initializing network control
  • 记一次压测Feign调用时Hystrix could not be queued for execution and no fallback available.

    项目场景 xff1a 同事压测时反馈仅支持10个用户的并发量 问题描述 通过查看日志 xff0c 可以看到一下关键报错信息 xff1a could not be queued for execution and no fallback av
  • Mysql截取字符串(含指定字符串)

    项目场景 xff1a 在将数据落地到数据库后 xff0c 应业务需求 xff0c 需要截取特定数据用作另一字段值 xff1b 如 xff1a 现有字段areaName值为 xff1a 海南省东方市 xff0c 现想将areaName省份信息
  • element cannot be mapped to a null key

    问题描述 原文地址element cannot be mapped to a null key java span class token punctuation span lang span class token punctuation
  • VMware 17 Pro安装(升级)

    文章目录 前言一 下载安装1 下载地址2 安装流程 前言 本文演示如何在windowns 10下 安装 xff08 升级 xff09 VMware 17 Pro 一 下载安装 1 下载地址 VMware 17 Pro 2 安装流程 如下图所
  • VMware 安装CentOS7

    文章目录 前言一 CentOS 7镜像下载二 VMware 创建CentOS 71 CentOS 7创建2 CentOS 7配置3 总结 前言 前文已完成对VMware 的升级 xff0c 我们需要在VMware Workstation创建
  • npm install npm ERR! Error: EPERM: operation not permitted 解决方法记录

    问题描述 执行npm install安装依赖时报错如下 xff1a 解决方案 xff1a 删除C Users 账户 下的 npmrc文件 npmrc文件即可 注意 xff1a 不是nodejs安装目录npm模块下的那个npmrc文件
  • java swing 常用的三种布局方式:边界布局、流布局、网格布局管理器

    作者 xff1a firstmiki 链接 xff1a http www cnblogs com firstmiki p 6340001 html 来源 xff1a firstmiki的博客 著作权归作者所有 xff0c 转载请联系作者获得
  • Linux(CentOS 7)配置静态ip及ping 不通外网问题

    前言 日常学习中 xff0c 如果Linux中安装了MySQL nacos redis等中间件 我们可能会通过navicat dataGrip连接MySQL 会通过ip port nacos访问nacos 会通过ip port连接redis
  • docker run启动镜像容器时忘记添加开机自启动解决方法

    问题描述 在使用以下命令启动mysql容器时 xff0c 忘记添加了 restart 61 always 开启开机自启动 xff0c 导致每次开机 重启后 xff0c 需要重新通过一系列命令手动重启对应的容器 xff0c 极其不方便 doc
  • docker 安装RabbitMQ

    系列文章目录 第一章 RabbitMQ安装 提示 xff1a 写完文章后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一 RabbitMQ安装1 dockerHub 选择镜像2 Cent
  • 记 Content type ‘application/octet-stream‘ not supported

    项目场景 xff1a 实现一个入参方式为 64 RequestPart 43 64 RequestParam files 的接口 xff0c 即该接口要包含文件上传和其它 实体类 入参 示例代码 xff1a 64 PostMapping v