我正在开发 Spring Boot 应用程序(版本 3.2.4)并使用 Springdoc OpenAPI(版本 2.0.4)生成 API 文档。但是,当我打开 Swagger UI 时,我看到消息“规范中没有定义操作!”。
这是我的整个项目。
以下是我的设置的相关详细信息:
pom.xml(与 Springdoc OpenAPI 相关的依赖项):
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.4</version>
</dependency>
SetupController.java:
package blossom.reports_service.inbound;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import blossom.reports_service.model.ChallengeSummary;
import blossom.reports_service.model.ReportsService;
@RestController
@RequestMapping("/setup")
public class SetupController {
private final ReportsService reportsService;
@Autowired
public SetupController(ReportsService reportsService) {
this.reportsService = reportsService;
}
@PostMapping("/createChallengeSummary/{userId}")
public ChallengeSummary createChallengeSummary(@PathVariable Long userId) {
return reportsService.createChallengeSummary(userId);
}
}
我已确保以下事项:
尽管执行了这些步骤,Swagger UI 仍然显示“规范中没有定义操作!”。任何帮助或建议将不胜感激!
从
springdoc.packages-to-scan="blossom.reports_service"
application.properties 中删除这行代码
设置控制器的另一个更改,将注释
@Controller
更改为 @RestController
,因为 OpenAPI 无法识别 @Controller
注释