问题标签 [spring-restdocs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-restdocs - Spring RestDocs - 子文档中的文档链接?
如何使用 Spring REST Docs 记录子文档中的链接?
给定以下 JSON 文档:
我可以按照参考文档中的建议links
通过实现自定义LinkExtractor来记录(我的工作实现与HalLinkExtractor非常相似):
但是,我的 JSON 文档links
在其他地方包含子文档,例如
如何记录与子links
文档关联的文档?foo
理想情况下,我想做类似的事情:
自然,这是行不通的,因为没有jsonPath(..)
方法。还有哪些其他选择?
我猜如果您使用HalLinkExtractor
and 尝试在_embedded
子文档中记录链接,也会出现同样的问题(请参阅draft-kelly-json-hal中的示例)。
spring-restdocs - RestDocumentation 类 Spring
Spring org.springframework.restdocs.RestDocumentation 类覆盖了 org.junit.rules.TestRule 的 apply 方法,这意味着所有测试用例都应该用 Junit 编写。如何使用 TestNG 实现相同的功能。
java - Spring REST 文档测试中未使用的自定义 Jackson 模块
我已经使用自定义 Jackson 模块(使用 Spring Boot 1.3)在 Spring REST 文档上编写了一个小测试。在我的应用程序主类中,我只有@SpringBootApplication
. 然后我有另一个JacksonCustomizations
看起来像这样的类:
这种定制是完美的。当我运行 Spring Boot 应用程序时,我看到了应有的 JSON。
但是,在我的文档测试中,没有应用自定义。这是我的测试代码:
}
请注意我的测试中的应用程序上下文如何导入JacksonCustomizations
配置。
我发现的其他东西:
- 添加
@EnableWebMvc
到我的启动应用程序会阻止自定义工作。 - 删除
@EnableWebMvc
我的测试会停止生成 JSON。
asciidoctor - 从 gradle 中找不到 Asciidoctor 'snippets' 属性
我正在遵循 Spring Rest Docs 参考文档中关于构建配置的说明。但是当我尝试做时,'snippets' 属性似乎没有暴露给 Asciidoctor
但我得到一个 asciidoctor “警告:删除包含对缺失属性的引用的行:片段”
如果我删除属性引用并直接放入路径,则会出现包含文件的内容。
这是包含 Rest Docs/Asciidoctor 信息的 build.gradle 文件:
谢谢。
spring-mvc - Spring Rest Docs 如何在我的代码片段或 .adoc 文件中包含应用程序名称
我正在尝试将 Spring Rest Docs 包含在 Spring Boot 应用程序中,并设法生成了一个简单的 asciidoc HTML 文件,该文件显示了应用程序根目录“/”的请求路径。问题是代码段中的请求 URL 不包含应用程序名称?例如,我的应用程序被称为“myservice”,所以我希望根“/”请求路径记录为
$ curl ' http://localhost:8080/myservice/ '
相反,我只能生成
$ curl ' http://localhost:8080/ '
我是 Spring Rest Docs 的新手,无法弄清楚如何在记录的 URL 中包含应用程序名称。它是在 asccidoctor 的 maven 插件中、在测试类的 @before 或 @Test 方法中还是在 .adoc 文件中作为“包含”标签的一部分设置的?
rest - 与 Swagger 相比,使用 Spring REST Docs 有什么好处
Spring REST Docs 最近发布,文档说:
这种方法使您摆脱了 Swagger 等工具所施加的限制
所以,我想问一下,与 Swagger 相比,Spring REST Docs 何时更适合使用,以及它释放了哪些限制。
java - 如何将 MockMvc 与模拟存储库一起使用?
上下文
我在这里找到了这个问题,但我的问题不同。
所以我们使用
Katharsis Controller
andSpring Data Rest
。我们只有 1 个控制器用于整个应用程序,然后请求将被发送到
Spring Data Rest
存储库类。我们想用来
Spring Restdoc
生成需要我们用MockMvc
.但是在使用时
Mockmvc
,它会启动容器并需要设置数据源。如果我们使用
standaloneSetup()
并传递模拟存储库类,则MockMvc
不会加载Katharsis Controller
,因此请求不会到达该存储库。我知道我们可以创建一个内存数据库,但是我们的项目很大,并且数据库需要创建大量的表,我们希望避免这种情况,因为这些测试是出于文档目的。
问题
有什么方法可以实现这一点并且只模拟目标存储库类?
笔记
存储库是CrudRepository
指Spring DataRest
.
spring - HttpRequestMethodNotSupportedException:不支持请求方法“POST”
使用 MockMvc 创建单元测试我遇到了:
HttpRequestMethodNotSupportedException:不支持请求方法“POST”
这导致测试用例失败,预期为“200”但得到“405”。您可能在 Junit 中看到的一些附加内容是针对 Spring Rest Docs 的,可以忽略。例如 mockMvc 调用上的 @Rule 或 .andDo()。我已遵循以下文档Spring Rest Docs - Path Parameter并且似乎无法使其正常工作。
这是控制器:
这是Junit类:
这是运行测试时的控制台:
java - 是否可以将 Spring Restdocs 与 Jersey 应用程序一起使用
Spring Restdocs 基于 Spring MVC 测试。所以,我想弄清楚是否可以将 Spring Restdocs 与 Jersey 2.0 REST 应用程序集成。
如果是这样,请您指出任何相关的示例或教程。
java - Spring REST Docs:特殊字符未正确显示
在我的 Spring MVC 测试(UTF-8 编码)中,我们发现:
asciidoctor 文件包含
在我渲染它并在我的 Firefox 浏览器中打开生成的 HTML 文件(也是 UTF-8 编码的)之后,我发现
特殊字符如何正确显示?