当前位置: 首页 > 知识库问答 >
问题:

Spring REST文档询问@RestController?

须鸿祯
2023-03-14

我正在查看SpringREST文档,想知道它是否能够查询@RestController方法来生成描述RESTAPI的基本文档(方法、http方法、参数、响应类型)?我相信springfoxspring/Swagger可以做到这一点,而且比编写测试来获取基本信息/文档要容易得多。

另外,因为我不想在生产环境中运行集成测试,所以Spring RestDocs方法是否可以在测试环境中运行集成测试,然后将生成的文档/片段复制到战争中,以便在Prod环境中查看?

共有2个答案

商运锋
2023-03-14

大摇大摆是我最好的选择。在没有集成测试的情况下,无法使用SpringREST文档生成文档。这是一篇评论rest工具的好文章

罗智志
2023-03-14

我正在查看SpringREST文档,想知道它是否能够查询@RestController方法来生成描述RESTAPI的基本文档

SpringREST文档是测试驱动的,故意不采用内省@RestController方法。RESTAPI文档描述的是HTTP请求和响应。通过测试驱动和处理真实或模拟的HTTP请求和响应,REST文档确保您正在记录的内容是API用户将要处理的内容。

内省@RestController方法的问题在于,它只是难题的一小部分。当收到HTTP请求时,它会在到达控制器之前通过过滤器、拦截器、HTTP消息转换等。当发送响应时,反过来也是如此。如果不完全了解控制器调用前发生的一切以及控制器返回后发生的一切,留档就有不准确的风险。

Spring RestDocs方法在测试环境中运行集成测试,然后将生成的文档/片段复制到战争中,以便在Prod环境中查看

对的文档在构建时生成一次,然后通常作为应用程序中的静态文件使用。有关如何使用Spring Boot执行此操作的详细信息,请参阅文档。

这种方法的优点是,创建文档所涉及的所有代码都不会在生产环境中运行。这减少了应用程序的占用空间,避免了生成文档的代码在生产中引起问题的可能性。我相信您可以使用代码优先的招摇过市工具采取类似的方法,但根据我的经验,人们这样做是不寻常的。

 类似资料:
  • 主要内容:find() 方法,pretty() 方法,findOne() 方法,条件查询,AND条件语句,OR 条件语句,AND 和 OR 联合使用前面我们介绍了怎么将文档插入到集合中,本节我们来介绍一下如何从集合中查询指定的文档。 find() 方法 想要查询集合中的文档,可以使用 MongoDB 中的 find() 方法,find() 方法可以将查询结果以非结构化的方式展示出来,其语法格式如下: db.collection_name.find(query, projection) 语法说明如

  • 我是elasticsearch的新手,对如何进行过滤器、查询和聚合有一些想法,但不确定如何解决下面的问题。我希望能够从下面显示的文档中只查询公司的最新交付(日期和crate_quantity)。我不确定如何去做。有没有办法使用最大聚合从每个文档中只提取最近的交付?

  • 我在mongodb文档中存储图书元数据,如名称、作者、价格、出版商等。我有大约1000万份这些文件,它们都在一个收藏中。平均文档大小为1.9KB。现在我有了关于、和的索引。事实上,我有两个价格指数,一个是升序,一个是降序。我的mongodb版本是2.2.0,我正在使用php驱动程序查询Mongo。驱动程序的版本是1.12。但是当我对price进行范围查询时,我会得到一个。在我的查询中,我试图找到的

  • 我试图根据文档ID查询文档,但我无法使用 AFS是AngularFiRecovery类型 我不知道上面的代码是否正确。 我尝试了在中提到的解决方案:通过将ref.id替换为firebase来查询firestore数据库中的文档id。firestore。FieldPath。documentId(),但我收到一个错误: “Firebase”是指UMD全局,但当前文件是一个模块。 帮助我检索数据。

  • 我正在寻找一种通过文档id而不是字段进行查询的方法。 可能是这样的: 在这种情况下,searchInput是一个不完整的documentId。 我在Stackoverflow上看到了一个解决方案,但它不适用于Flatter:https://stackoverflow.com/a/52252264/8539070 要记住的另一件事是,我正在尝试显示集合中与id的某些部分匹配的所有文档的列表。 谢谢你

  • 例子 (Demo Example) 这是我们需要解析的输入xml文件 - <?xml version = "1.0"?> <class> <student rollno = "393"> <firstname>dinkar</firstname> <lastname>kad</lastname> <nickname>dinkar</nickname>