如何记录提供另一种类型(MyClass 与 String)的 Rest 参数?
How do I document a Rest parameter providing another type (MyClass vs. String)?
在 Springfox 中,我曾经使用以下语法来呈现具有完整模型的字符串参数 (original Github issue):
@PatchMapping(path="/{objId}")
@ApiImplicitParams(@ApiImplicitParam(name="update", dataType="MyClass"))
public ApiResponse<MyClass> updateMyClassInst(@PathVariable String objId, @RequestBody String update) {
这种表述的原因是,如果我将 MyClass
作为请求主体的类型,我无法区分 属性 何时未更新或何时设置为空,因为两者都将被反序列化为空字段值。
我如何使用 Springdoc 做到这一点?
这是等效代码,使用 OpenAPI 3。
@PatchMapping(path="/{objId}")
@RequestBody( content = @Content(schema = @Schema(implementation = MyClass.class)))
public ApiResponse<MyClass> updateMyClassInst(@PathVariable String objId, @RequestBody String update) {
return null;
}
你可以看看hte迁移指南:
以及 swagger 文档:
在 Springfox 中,我曾经使用以下语法来呈现具有完整模型的字符串参数 (original Github issue):
@PatchMapping(path="/{objId}")
@ApiImplicitParams(@ApiImplicitParam(name="update", dataType="MyClass"))
public ApiResponse<MyClass> updateMyClassInst(@PathVariable String objId, @RequestBody String update) {
这种表述的原因是,如果我将 MyClass
作为请求主体的类型,我无法区分 属性 何时未更新或何时设置为空,因为两者都将被反序列化为空字段值。
我如何使用 Springdoc 做到这一点?
这是等效代码,使用 OpenAPI 3。
@PatchMapping(path="/{objId}")
@RequestBody( content = @Content(schema = @Schema(implementation = MyClass.class)))
public ApiResponse<MyClass> updateMyClassInst(@PathVariable String objId, @RequestBody String update) {
return null;
}
你可以看看hte迁移指南:
以及 swagger 文档: