问题标签 [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-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
用一些东西编写类类似于ErrorAttributes
Spring Boot 已经提供的。我不希望更改 Spring Boot 在错误时生成的输出。
谢谢 -
json - Grails 3.2.9:Spring Rest Docs 使用 Rest Assured 提供有效负载处理异常:com.fasterxml.jackson.core.JSONParseException
我正在尝试使用 Rest Assured 将 Spring Rest 文档与 Grails 3.2.9 应用程序集成。在集成测试期间,它会产生有效负载处理异常。
完整的堆栈跟踪:
请帮我解决这个问题。
spring - 使用 RestAssured 应用程序的 spring-rest-docs 在运行时不会生成默认片段
我的测试班是
下面是我的 pom.xml
以下是面临的错误
分享 index.adoc
我是 RestAssured 和 RestDocs 的新手,请帮帮我。该代码非常基本,但仍然面临问题。我不明白为什么不生成要自动生成的片段。请帮我。
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 报告中出现的内容:
问题):
如何从我的单元测试中获得一个简单的 HTTP 200?这是配置问题吗?
在 - 的里面:
.andDo(document("{class-name}/{method-name}"));
如何设置它以使用 Spring Rest Docs 记录位于响应 JSON 有效负载中的各种属性(键/值对)?
- 我认为我不需要运行tomcat(使用以前的war文件)?
抱歉,从未使用过 Spring Rest Docs,只是希望有人能指出我正确的方向......
spring - Spring Rest Doc - 生成的文档的 url
我正在使用 Spring Rest Doc,我可以看到我的 .adoc 文件在我指定的路径中正确生成
现在我想在启动服务器时看到它的实际效果。
我的 MockMvc 看起来像这样
我正在尝试获取 localhost:8080/target/generated-snippet 或 localhost:8080/retrivedocumentation 等文档的路径,但我看不到它。我在网上找到的文档没有指定它。有谁知道如何找回它?
谢谢
spring-restdocs - Spring Rest Doc - 在没有 maven 的情况下生成 html
我正在使用 Spring Rest Doc,并且正在使用 mvn:install 生成文档的 HTML 文件。
现在我被要求在没有 maven 的情况下生成这个文件,因为在我们的项目中我们不会使用它。
没有 maven install 任务有没有办法生成它?
谢谢
spring - 使用 maven(不是 gradle)生成带有 spring rest docs 的 asciidoctor doc
使用 gradle 生成 asciidoctor 文档,您需要gradle asciidoctor
在命令行中生成文档,并且此任务会生成文档。
使用 maven,我可以生成 asciidoctor 文档mvn package
。但这包含了所有项目。有没有办法只使用mvn
生成文档而不打包所有项目?
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。
maven - Spring Asciidoctor Extensions 不在正确的仓库中?
各位下午好
我一直在尝试让 spring-asciidoctor-extensions 与我的文档一起使用,但由于某种原因,maven 找不到依赖项。
我尝试构建后得到的错误:
我检查了他们的GitHub并环顾四周,发现 maven 存储库中没有任何内容(从错误中显而易见),并且在这个问题中发现存储库位于 https://repo.spring.io/release中。有没有办法直接引用对 repo 的依赖?如果不是我该怎么办?