我们尝试使用swagger 2.0(OAS3)来记录Restful API,用Java实现并基于Apache CXF(jaxrs) . 对于一些尚未实现的API调用,带有swagger的文档工作正常,但是下面的Post-Request让我苦苦挣扎:

@POST

@Path("/documents")

@Consumes("multipart/mixed")

Response createDocument(

@RequestBody(description = "RestDocumentParams (required), InputStream and RelationshipParams",

content = { @Content(mediaType = "multipart/mixed", schema = @Schema(implementation = RestDocumentParams.class)),

@Content(mediaType = "application/octet-stream", schema = @Schema(type = "string", format = "binary")),

@Content(mediaType = "application/json", schema = @Schema(implementation = RelationshipParams.class)) })

@Multipart(value = "doc", type = MediaType.APPLICATION_JSON)

RestDocumentParams documentParams,

@Multipart(value = "file", type = MediaType.APPLICATION_OCTET_STREAM, required = false)

InputStream inputStream,

@Multipart(value = "rela", type = MediaType.APPLICATION_JSON, required = false)

RelationshipParams relationshipParams)

此方法应至少使用RestDocumentParams中给出的数据创建一个新Document . Optionaly可以提供文件对象(InputStream)和其他MetaData(RelationshipParams) . 必须在RequestBody中提供所有这些有效负载 .

在testframework(例如,restassured)中使用此方法可以正常工作 . 我的问题是,我如何使用swagger-annotation正确地注释这个方法,以便在Swagger-UI中使用它 .

使用上面的RequestBody-Annotation似乎不是正确的方法!在Swagger-UI中,在RequestBody的描述中出现一个组合框,让我选择三种不同的媒体类型 . 但是,如果我想尝试此方法并编辑其中一个输入参数(例如输入文件名)并选择下一个媒体类型,则最后一次编辑将丢失 .

比较此方法的requestBody的json-Strukture与"multipart content"的OAS3定义不同 . 关于OAS3定义,requestBody应该如下所示:

requestBody:

description: 'RestDocumentParams (required), InputStream and RelationshipParams'

content:

multipart/form-data:

schema:

properties:

docParams:

$ref: '#/components/schemas/RestDocumentParams'

relaParams:

$ref: '#/components/schemas/RelationshipParams'

fileName:

type: string

format: binary

但我不知道如何指定requestBody(使用swagger annotoations)来实现看起来像这样的结构 .

requesbodys.java_这个requestBody的正确swagger-annotation是什么?相关推荐

  1. SpringBoot 中 @RequestBody的正确使用方法

    SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: [java] view plain  ...

  2. @RequestBody 的正确使用办法

    2019独角兽企业重金招聘Python工程师标准>>> @RequestBody 的正确使用办法 1.以前一直以为在SpringMVC环境中,@RequestBody接收的是一个Js ...

  3. Swagger Annotation 详解(建议收藏)

    转载:https://www.jianshu.com/p/b0b19368e4a8 在软件开发行业,管理文档是件头疼的事.不是文档难于撰写,而是文档难于维护,因为需求与代码会经常变动,尤其在采用敏捷软 ...

  4. java request body内容_解读@RequestBody的正确使用方法

    本文主要研究的是关于@RequestBody的正确使用方法的相关内容,具体如下. 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMa ...

  5. springboot接收多对象_SpringBoot Controller 中使用多个@RequestBody的正确姿势

    最近遇到Controller中需要多个@RequestBody的情况,但是发现并不支持这种写法, 这样导致 1.单个字符串等包装类型都要写一个对象才可以用@RequestBody接收: 2.多个对象需 ...

  6. java requestbody map_@RequestBody 的正确使用办法

    1.以前一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是 ...

  7. Springboot 集成Swagger在线调试

    集成Swagger在线调试 转载http://blog.battcn.com/2018/05/16/springboot/v2-config-swagger/ SpringBoot是为了简化Sprin ...

  8. Annotation 和Spring Annotation 知识整理

    话题很大,感觉能力有限,很难把这些东西一次说透,只能稍作一个整理,供参考了.Annotation , 注解.可以粗浅理解是一种方法,这种方法能够帮助我们简化代码或者资源配置文件,提高工作效率.越来越多 ...

  9. springcloudalibaba项目使用情况

    cloud微服务开发手册 这个是自己给公司做的一套微服务框架,其中部分的组件开发手册 1.后端结构技术选型 技术 说明 官网地址 Spring Boot 容器+MVC框架 https//spring. ...

最新文章

  1. 用WSDL定义Web服务
  2. 取input 输入_tensorRT动态输入(python)
  3. 问答:双总线并机,可以使用不同品牌的ups吗?
  4. W ndows95安装,Windows 95的安装
  5. Java多线程系列(十一):ReentrantReadWriteLock的实现原理与锁获取详解
  6. yolo极大抑制_pytorch实现yolov3(4) 非极大值抑制nms
  7. LeetCode:砖墙【554】
  8. django 1.8 官方文档翻译: 2-2-3 查找 API 参考
  9. Android Studio 设置代码提示和代码自动补全快捷键
  10. C++ 初识类与对象
  11. python代码打包成apk反编译_python程序打包和反编译
  12. php 数组去impload,你真的了解 load 方法么?
  13. 为VS2005添加X64编译平台
  14. 数字电路技术可能出现的简答题_数字电子技术基础(Ⅰ)-中国大学mooc-试题题目及答案...
  15. 服务器运维辐射,【服务器辐射】服务器辐射大吗_服务器防辐射_服务器辐射距离_佰佰安全网...
  16. 【IIS】XP系统的IIS发布
  17. 【低代码】云端组态集成与设备管理配置
  18. 火山PC可视化动态布局工具的使用教程
  19. 抖音java表白教程_抖音上的表白代码是什么 抖音表白代码怎么写
  20. 6种最常用恒流源电路的分析与比较

热门文章

  1. PyTorch——PyTorch也支持通过累加操作实现大的BatchSize的训练
  2. Youki的笔记本配置要求
  3. [转]如何写出让同事无法维护的代码?
  4. mongodb用户管理和服务安装
  5. ACM经验分享[转]
  6. 【转】Java 8十个lambda表达式案例
  7. stm32的串口DMA空闲中断接收不等长数据,stm32F4的usart2-DMA-IDLE收发
  8. 浅析SVM中的对偶问题
  9. win10 uwp 如何判断一个对象被移除
  10. python 模块路径查找 及 添加