【问题标题】:How to Disable Spring Rest Docs如何禁用 Spring Rest 文档
【发布时间】:2021-07-29 02:23:15
【问题描述】:

问题我在我的项目中使用Spring Rest Docs。它在开发阶段很有用,但我不希望它对生产中的普通用户和搜索引擎可用。

RESEARCH 我没有看到带有“nocache”和“noindex”等内容的机器人元标记。实际上预期的可能是像spring.rest-docs.enabled=false 这样的spring application.property 字段。这样我就可以在生产弹簧配置文件中配置它。

QUESTION如何禁用某些弹簧配置文件的休息文档。

【问题讨论】:

  • @Profile 那个豆子。
  • Spring REST Docs 应该只在你的应用程序的测试中使用。当您说“不希望它可用”时,确切地说,您不希望它可用是什么?也许 Asciidoctor 使用 Spring REST Docs 生成的 sn-ps 生成了一些基于 HTML 的文档?
  • 是的。它被 Maven 复制到 /resources/static/docs 文件夹中。

标签: java spring-boot spring-restdocs


【解决方案1】:

有三种方法可以做到:

  • (failed) 使用测试类注释阻止测试(无法设置它工作):@IfProfileValue(name = "spring.profiles.active", values = {"prod"})@EnabledIf("${spring.restdocs.enabled}")
  • 失败)配置 maven-resources-plugin 以使用 maven-profiles 和 spring 配置文件(看起来太麻烦):https://stackoverflow.com/a/45817386/1112963
  • (工作) 使用spring.resources.add-mappings=false 禁用application-prod.properties 中的/resources/static 文件夹访问

【讨论】:

    【解决方案2】:

    您可以将此属性添加到您的application.properties

    spring.test.restdocs.failOnUndocumentedFields=false
    spring.test.restdocs.failOnUndocumentedParams=false
    

    https://scacap.github.io/spring-auto-restdocs/#_configuration

    在 MockMvc 设置期间可用的配置:

    failOnUndocumentedParams - 如果构建应该在至少一个未记录的参数上失败 failOnUndocumentedFields - 如果构建应该在至少一个未记录的字段上失败

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多