Java 如何在OpenAPI 3.0中定义字节数组
我正在将我的API从Swagger 2.0迁移到OpenAPI 3.0。在DTO中,我有一个指定为字节数组的字段。 DTO的夸张定义:Java 如何在OpenAPI 3.0中定义字节数组,java,spring,openapi,openapi-generator,Java,Spring,Openapi,Openapi Generator,我正在将我的API从Swagger 2.0迁移到OpenAPI 3.0。在DTO中,我有一个指定为字节数组的字段。 DTO的夸张定义: Job: type: object properties: body: type: string format: binary 使用上面的定义,swagger代码生成器生成一个对象,该对象接受byte[]数组作为body字段new Job().setBody(new byte[1]) 将API定义转
Job:
type: object
properties:
body:
type: string
format: binary
使用上面的定义,swagger代码生成器生成一个对象,该对象接受byte[]
数组作为body字段new Job().setBody(new byte[1])
将API定义转换为OpenAPI后,该对象的定义保持不变,但OpenAPI代码生成器现在需要org.springframework.core.io.Resource
而不是byte[]
(newjob().setBody(org.springframework.core.io.Resource)
)。在我的代码中有一些地方我必须序列化作业对象,但这不再可能,因为Resource
没有实现可序列化
作为解决方法,我将类型更改为对象
:
Job:
type: object
properties:
body:
type: object
现在我必须将主体转换为String
,然后到处转换为byte[]
,我希望像以前一样将类型转换为byte[]
如何使用OpenAPI 3.0将类型指定为
byte[]
?必须设置type:string和format:byte
原始答复: