requesbodys.java_这个requestBody的正确swagger-annotation是什么?
我们尝试使用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是什么?相关推荐
- SpringBoot 中 @RequestBody的正确使用方法
SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: [java] view plain ...
- @RequestBody 的正确使用办法
2019独角兽企业重金招聘Python工程师标准>>> @RequestBody 的正确使用办法 1.以前一直以为在SpringMVC环境中,@RequestBody接收的是一个Js ...
- Swagger Annotation 详解(建议收藏)
转载:https://www.jianshu.com/p/b0b19368e4a8 在软件开发行业,管理文档是件头疼的事.不是文档难于撰写,而是文档难于维护,因为需求与代码会经常变动,尤其在采用敏捷软 ...
- java request body内容_解读@RequestBody的正确使用方法
本文主要研究的是关于@RequestBody的正确使用方法的相关内容,具体如下. 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMa ...
- springboot接收多对象_SpringBoot Controller 中使用多个@RequestBody的正确姿势
最近遇到Controller中需要多个@RequestBody的情况,但是发现并不支持这种写法, 这样导致 1.单个字符串等包装类型都要写一个对象才可以用@RequestBody接收: 2.多个对象需 ...
- java requestbody map_@RequestBody 的正确使用办法
1.以前一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是 ...
- Springboot 集成Swagger在线调试
集成Swagger在线调试 转载http://blog.battcn.com/2018/05/16/springboot/v2-config-swagger/ SpringBoot是为了简化Sprin ...
- Annotation 和Spring Annotation 知识整理
话题很大,感觉能力有限,很难把这些东西一次说透,只能稍作一个整理,供参考了.Annotation , 注解.可以粗浅理解是一种方法,这种方法能够帮助我们简化代码或者资源配置文件,提高工作效率.越来越多 ...
- springcloudalibaba项目使用情况
cloud微服务开发手册 这个是自己给公司做的一套微服务框架,其中部分的组件开发手册 1.后端结构技术选型 技术 说明 官网地址 Spring Boot 容器+MVC框架 https//spring. ...
最新文章
- 用WSDL定义Web服务
- 取input 输入_tensorRT动态输入(python)
- 问答:双总线并机,可以使用不同品牌的ups吗?
- W ndows95安装,Windows 95的安装
- Java多线程系列(十一):ReentrantReadWriteLock的实现原理与锁获取详解
- yolo极大抑制_pytorch实现yolov3(4) 非极大值抑制nms
- LeetCode:砖墙【554】
- django 1.8 官方文档翻译: 2-2-3 查找 API 参考
- Android Studio 设置代码提示和代码自动补全快捷键
- C++ 初识类与对象
- python代码打包成apk反编译_python程序打包和反编译
- php 数组去impload,你真的了解 load 方法么?
- 为VS2005添加X64编译平台
- 数字电路技术可能出现的简答题_数字电子技术基础(Ⅰ)-中国大学mooc-试题题目及答案...
- 服务器运维辐射,【服务器辐射】服务器辐射大吗_服务器防辐射_服务器辐射距离_佰佰安全网...
- 【IIS】XP系统的IIS发布
- 【低代码】云端组态集成与设备管理配置
- 火山PC可视化动态布局工具的使用教程
- 抖音java表白教程_抖音上的表白代码是什么 抖音表白代码怎么写
- 6种最常用恒流源电路的分析与比较