如何解决Java Spring Boot OpenApi 3-如何为RequestBody添加描述?
我想在春季启动openapi 3中为RequestBody
提供一个说明。
所以我让我的代码是这样的:
@PostMapping(produces = "application/json",consumes = "application/json")
public ResponseEntity<Book> addBook(
@Schema(
description = "Book to add.",required=true,schema=@Schema(implementation = Book.class))
@Valid @RequestBody Book book
) {
return ResponseEntity.ok(bookRepository.add(Book));
}
RequestBody
说明为Book to add.
我的愿望UI是这样的:
但是什么也没发生!我的用户界面中没有说明。
出什么问题了?
解决方法
在您的代码段中,似乎您的描述实际上属于@RequestBody注释而不是@Schema注释。
使用@Schema可以定义和描述模型,但实际上要做的是在操作的上下文中描述参数。
尝试以下方法:
@PostMapping(produces = "application/json",consumes = "application/json")
public ResponseEntity<Book> addBook(
@RequestBody(description = "Book to add.",required = true,content = @Content(
schema=@Schema(implementation = Book.class)))
@Valid Book book
) {
return ResponseEntity.ok(bookRepository.add(Book));
}
,
感谢加布里埃尔·弗拉斯(
我们应该使用
io.swagger.v3.oas.annotations.parameters.RequestBody
代替
org.springframework.web.bind.annotation.RequestBody
所以我们有好东西,例如description
,content
,...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。