NextDoc4j
更多

常见问题

从启动异常、参数展示到登录调试与网关聚合,按现象找到原因、排查步骤和修复方法。

这里整理开发和接入过程中遇到的问题。先找到与你相同的现象,展开查看处理方法;配置细节和完整示例可从每项末尾继续阅读。

先确认问题发生在哪一层

启动失败先看后端异常;页面打不开先看文档入口;页面已打开但没有接口,检查 OpenAPI 请求;只有在线调试失败,再检查业务请求。浏览器 Network 中的实际 URL、状态码、Content-Type 和响应正文通常能帮助缩小范围。

接入与启动

依次检查功能开关、实际入口和 SpringDoc UI 依赖。 NextDoc4j 默认不开放文档。

application.yml · 本地接入
nextdoc4j:
  enabled: true
  production: false
  1. 检查当前生效的 Profile、环境变量和配置中心,确认最终值为 enabled=true、production=false。production=true 会主动返回 404,开启密码认证也不会改变这一点。
  2. 默认入口是 /doc.html。配置 doc-path: /docs 后改用 /docs,旧 /doc.html 会失效;doc-path 使用单段路径。
  3. 有应用上下文时带上前缀。例如 context-path=/order、doc-path=/docs 对应 /order/docs。
  4. 宿主需要自行引入对应 Web 栈的 SpringDoc UI Starter。NextDoc4j Starter 中该依赖是 optional,不会自动传递给你的项目。
Web 栈需要的 SpringDoc 依赖
WebMVCspringdoc-openapi-starter-webmvc-ui
WebFluxspringdoc-openapi-starter-webflux-ui

如果直连宿主可以打开、经过代理却是 404,再检查反向代理是否转发了入口和 /nextdoc/** 资源,而不只是业务接口。

继续阅读:基础配置 · 接入依赖。

文档与参数

先区分查询参数对象和 JSON 请求体。 查询 DTO 需要由 SpringDoc 展开成独立参数;这和展开 @RequestBody 的 JSON 结构是两种处理。

可以启用全局参数对象平铺:

application.yml
springdoc:
  default-flat-param-object: true

也可以只对目标参数添加 org.springdoc.core.annotations.ParameterObject 注解,避免改变其他接口的文档行为:

Controller 方法片段
@GetMapping("/users")
public List<UserView> list(@ParameterObject UserQuery query) {
    return userService.list(query);
}

调整后检查对应 /v3/api-docs 的 parameters 是否已生成字段。如果 JSON 请求体缺少字段,则检查 requestBody、模型 Schema、可见性与隐藏注解,参数平铺开关不负责修复请求体。

继续阅读:接口文档与数据模型。

登录与在线调试

网关与文档更新

继续获得帮助

如果还不能定位,反馈时带上以下信息,便于复现同一条访问链路:

信息建议内容
版本与环境NextDoc4j、JDK、Boot、SpringDoc、浏览器版本,MVC / WebFlux,单体 / 网关
最小复现相关依赖、配置、Controller / DTO 和稳定的复现步骤
实际结果期望行为、实际行为、请求 URL、状态码和响应类型
定位材料后端异常堆栈、浏览器控制台、脱敏后的 OpenAPI 片段;网关问题补充路由规则

提交前删除密码、Token、Cookie 和业务敏感数据。可以先用单体 Demo或网关 Demo对照界面行为;演示数据与部署配置可能不同。

On this page