问题标签 [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.

0 投票
2 回答
784 浏览

spring-boot - 使用 MockMvc 和 Spring REST Docs 时重用 Spring Boot ErrorAttributes

我为抛出自定义异常(在我的情况下)的控制器编写测试,该异常AuthenticationException用注释@ResponseStatus(value = HttpStatus.BAD_REQUEST)

使用 ie curl 调用引发异常的端点工作正常,我得到了预期的结果,示例如下所示:

当我使用 Mockito 为此编写测试时,willThrow()我没有得到 Spring Boot 生成的任何输出,而只是在我的异常类中注释的响应代码。

这是我的测试:

看着类似的问题,这似乎是由于 MockMvc 没有遵循我认为 Spring Boot 用来推送到 /error 的重定向引起的,但我的问题是是否有任何方法我可以完成这项工作,所以我不必@ControllerAdvice用一些东西编写类类似于ErrorAttributesSpring Boot 已经提供的。我不希望更改 Spring Boot 在错误时生成的输出。

谢谢 -

0 投票
1 回答
201 浏览

json - Grails 3.2.9:Spring Rest Docs 使用 Rest Assured 提供有效负载处理异常:com.fasterxml.jackson.core.JSONParseException

我正在尝试使用 Rest Assured 将 Spring Rest 文档与 Grails 3.2.9 应用程序集成。在集成测试期间,它会产生有效负载处理异常。

完整的堆栈跟踪:

请帮我解决这个问题。

0 投票
0 回答
1148 浏览

spring - 使用 RestAssured 应用程序的 spring-rest-docs 在运行时不会生成默认片段

我的测试班是

下面是我的 pom.xml

以下是面临的错误

分享 index.adoc

我是 RestAssured 和 RestDocs 的新手,请帮帮我。该代码非常基本,但仍然面临问题。我不明白为什么不生成要自动生成的片段。请帮我。

0 投票
0 回答
265 浏览

spring - Spring Rest Docs - 如何从 SpringMVC 应用程序获取简单的 HTTP GET

我是 Spring Rest Docs 的新手......有一个预先存在的代码库,它是用 Spring MVC(不是 Spring Boot)编写的。

我的 pom.xml 的一些摘录如下所示:

有一个示例 Web 服务(使用 SpringMVC),它发出一个简单的 GET 请求:

使用 curl 调用它:

返回以下负载:

像这样设置我的 MockMvc 测试用例:

只有 mvc-dispatcher-servlet.xml(位于 src/main/webapp/WEB-INF 中)的任何地方都没有 applicationContext.xml:

我启动了 tomcat(因为我在 $CATALINA_HOME/webapps 中已经有一个包含这个 rest 调用的以前的 war 文件)并且在尝试构建 war 文件时:

这是 Surefire 报告中出现的内容:

问题):

  1. 如何从我的单元测试中获得一个简单的 HTTP 200?这是配置问题吗?

  2. 在 - 的里面:

    .andDo(document("{class-name}/{method-name}"));

如何设置它以使用 Spring Rest Docs 记录位于响应 JSON 有效负载中的各种属性(键/值对)?

  1. 我认为我不需要运行tomcat(使用以前的war文件)?

抱歉,从未使用过 Spring Rest Docs,只是希望有人能指出我正确的方向......

0 投票
1 回答
1935 浏览

spring - Spring Rest Doc - 生成的文档的 url

我正在使用 Spring Rest Doc,我可以看到我的 .adoc 文件在我指定的路径中正确生成

现在我想在启动服务器时看到它的实际效果。

我的 MockMvc 看起来像这样

我正在尝试获取 localhost:8080/target/generated-snippet 或 localhost:8080/retrivedocumentation 等文档的路径,但我看不到它。我在网上找到的文档没有指定它。有谁知道如何找回它?

谢谢

0 投票
1 回答
168 浏览

spring-restdocs - Spring Rest Doc - 在没有 maven 的情况下生成 html

我正在使用 Spring Rest Doc,并且正在使用 mvn:install 生成文档的 HTML 文件。

现在我被要求在没有 maven 的情况下生成这个文件,因为在我们的项目中我们不会使用它。

没有 maven install 任务有没有办法生成它?

谢谢

0 投票
1 回答
341 浏览

spring - 使用 maven(不是 gradle)生成带有 spring rest docs 的 asciidoctor doc

使用 gradle 生成 asciidoctor 文档,您需要gradle asciidoctor在命令行中生成文档,并且此任务会生成文档。

使用 maven,我可以生成 asciidoctor 文档mvn package。但这包含了所有项目。有没有办法只使用mvn生成文档而不打包所有项目?

0 投票
1 回答
630 浏览

java - Spring REST Docs 生成空索引文件

我是 Spring REST Docs 的新手并使用最新的 1.2.1.Release。我有工作的 RESTful 控制器,我有一堆工作测试。现在我正在介绍文档方面,以便为新加入的开发人员记录这些内容。

我将 pom.xml 配置为:

这是构建插件的位置:

而且,我有可以工作的测试,在 /target 下我看到一些目录是用几个 *.adoc 文件创建的。这是伟大的。

我确实创建了 /src/main/asciidoc/index.adoc,当我进行构建时它是成功的。index.adoc 文件中没有任何内容,必须有吗?因此,在成功构建之后,我会在以下位置获得大量“adoc”文件:
/myapp-platform-ws/target/generated-snippets

我还在:/myapp-platform-ws/target/generated-docs 下获得了一个文件“index.html”但是里面什么都没有......

我还有其他几个控制器,每个控制器都有几个我将记录的方法。这一切都很好。但是,我想找到一些方法,可以为创建的各种 adoc 文件创建多个 html 文件。

Spring REST Docs 对我来说真的很新,我只是在尝试很多新东西,所以我可以将它发布给我的团队。

任何帮助将非常感激!谢谢!

=============== 更新 1.0 =================

所以,我在“asciidoctor”插件之前添加了这个插件。

是的,我必须包含该版本,否则我会收到一个错误,说它不存在,但它仍然是一个成功的构建。但是,现在我的测试都不会运行。

我还更改了我的 index.adoc 以包含以下内容:

因此,因为测试没有运行,所以它没有添加这些文件。我还怀疑“response-headers.adoc”也没有生成。当测试运行时,我得到了片段。

如果我能让测试再次运行,我想我会走在正确的轨道上。我根本没有跳过测试。

=============== 更新 2.0 =================

我更改了surefire插件以实际使用我拥有的测试:

由于我所有的测试,都以 /*Test.java 结尾,
所以,这使得我所有的测试都执行了。

由于我收到 *.adoc 文件丢失的消息,因此我仔细检查了

设置正确,但我没有意识到这已被删除,所以我重新添加了它,并且我不再收到错误消息。

我不记得我是否提到过它,但我在 index.adoc 中添加了详细信息,然后我终于能够获得一个包含内容的生成 index.html。

我现在,只需要更多地学习 AsciiDoctor,我可以更新所有 POSTS 和 PUT 以及 GET 的 index.adoc。

0 投票
2 回答
422 浏览

maven - Spring Asciidoctor Extensions 不在正确的仓库中?

各位下午好

我一直在尝试让 spring-asciidoctor-extensions 与我的文档一起使用,但由于某种原因,maven 找不到依赖项。

我尝试构建后得到的错误:

我检查了他们的GitHub并环顾四周,发现 maven 存储库中没有任何内容(从错误中显而易见),并且在这个问题中发现存储库位于 https://repo.spring.io/release中。有没有办法直接引用对 repo 的依赖?如果不是我该怎么办?

0 投票
1 回答
331 浏览

java - RestDocumentation 类已弃用,我应该改用什么?

文档org.springframework.restdocs.RestDocumentation声明它已被弃用。

我正在尝试在这样的 JUnit 测试中使用该类:

我应该改用什么类?