首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它有任何能力上传MultipartFile与模型在摇摆?(在注释415中,不支持的媒体类型解析)

它有任何能力上传MultipartFile与模型在摇摆?(在注释415中,不支持的媒体类型解析)
EN

Stack Overflow用户
提问于 2021-01-11 12:12:16
回答 1查看 3.3K关注 0票数 3

我使用的是最后一个(也是唯一的)

代码语言:javascript
复制
 <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
 </dependency>

带弹簧靴

代码语言:javascript
复制
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.1</version>
    <relativePath/> <!-- lookup parent from repository -->
 </parent>

我希望能够在一个控制器中上传文件和模型,所以我创建了一个:

在本例中,在swagger上,我只看到文件上传而没有模型:

我在邮递员那里试过这个案子,效果很好

是虫子吗?或者,我是否应该添加一些其他注释来使其工作?

EN

回答 1

Stack Overflow用户

发布于 2021-01-12 10:04:07

问题是在配置类中,在目录Bean中。在这里,我定义了通往我的控制器的路线,以将其他人从swagger中排除在外。问题是在DocumentationType中,OpenApi3.0是维护多类型文件上传,而Swagger2没有。

我所面对的下一个问题是:

415不支持媒体类型

解决方案:

First way:如果要使用postman/javaScript框架->,则必须定义每个RequestPart的媒体类型(实际上不需要文件,文件将自动设置)。邮递员的例子:

第二种方式:实现对八位流的维护,因为如果请求部分中没有内容类型标头,spring默认在AbstractMessageConverterMethodArgumentResolver.class中设置它。(我正在使用spring-boot-starter-parent 2.4.1 -> spring-webmvc 5.3.2)

,下面是我发现的两个案例(将响应JSON映射到DTO):

1 (不推荐):设置支持JSON转换器:

octet-stream,2案例:定义了新的转换器类,它肯定适用于所需的类(在我的例子中是MDVersionDTO.class),而且当它像那样实现它时,肯定会使用ovveride canRead()方法。

SPRING的更新-启动2.7.0

再次面对,现在DocumaentationType.OAS_30不工作了.因此,要解决:

  1. I实现了相同的MultipartJSONConverter,并使其成为@Component
  2. ,我使用了
  3. @RequestBody注释,并使用如下:

在这种情况下,您将能够上传文件的请求主体,但您将没有模型的例子,在swagger,它将是空的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65666648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档