Spring 它是否能够上传带有Swagger模型的多部分文件?(在注释415中,已解析不支持的媒体类型)
我正在使用最后一个(也是唯一一个)Spring 它是否能够上传带有Swagger模型的多部分文件?(在注释415中,已解析不支持的媒体类型),spring,spring-boot,swagger,swagger-ui,springfox,Spring,Spring Boot,Swagger,Swagger Ui,Springfox,我正在使用最后一个(也是唯一一个) 伊奥·斯普林福克斯 springfox启动程序 3.0.0 带弹簧靴 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.1</version> <rel
伊奥·斯普林福克斯
springfox启动程序
3.0.0
带弹簧靴
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
org.springframework.boot
spring启动程序父级
2.4.1
我希望能够在一个控制器中上载文件和模型,因此我创建了一个:
在这种情况下,在swagger ui上,我只看到文件上载,没有模型:
我在邮递员那里试过这个案子,效果很好
是虫子吗?或者我应该添加一些其他注释使其工作吗?问题出在DocketBean中的配置类中。 在这里,我定义了到我的控制器的路由,以将其他控制器排除在swagger ui之外。 问题出在DocumentationType中,OpenApi3.0正在维护多类型文件上传,而Swagger2没有 我面临的下一个问题是: 415不支持的媒体类型 决议: 第一种方式: 如果您将使用postman/javaScript框架->您必须定义每个RequestPart的媒体类型(实际上不需要文件,因为文件将自动设置)。 邮递员的例子: 第二种方式:是对八位字节流的实现维护,因为spring默认在
AbstractMessageConverterMethodArgumentResolver.class
中设置它,前提是请求部分中没有内容类型头。
(我使用的是springbootstarterparent2.4.1->springwebmvc5.3.2
)
下面是我发现的两个案例(将响应JSON映射到DTO):
1例(不推荐):
设置对JSON转换器的支持:
2个案例:
定义一个新的转换器类,它将为所需的类(在我的例子中是MDVersionDTO.class
)工作,并且当它像八位元流一样出现时,要实现它,可以使用ovveridecanRead()
方法。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>