我使用的是最后一个(也是唯一的)
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>带弹簧靴
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>我希望能够在一个控制器中上传文件和模型,所以我创建了一个:

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

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

是虫子吗?或者,我是否应该添加一些其他注释来使其工作?
发布于 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不工作了.因此,要解决:

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

https://stackoverflow.com/questions/65666648
复制相似问题