idea快速生成crud_Java / Spring:如何快速生成完整的Swagger文档CRUD REST API
idea快速生成crud
作为开发人员,我们在日常生活中经常面临的最繁琐的任务之一就是编写良好且易于理解的文档。 无论我们的文档只有几行来解释功能的核心功能,还是表明系统的来龙去脉的成熟文章都没关系。 重要的是,我们试图通过文档传达的信息是准确且可理解的。
在上一篇文章中 ,我们讨论了自动REST API生成的主题。 更准确地说,我们演示了如何使用Speedment的经过改进的Spring Integration插件为您的数据库生成完整的CRUD REST API。
今天,我们将使这一知识更进一步,并演示如何通过一次单击即可为REST API生成交互式文档。
如果您没有机会使用Speedment Spring插件,我们强烈建议您阅读上一篇文章,因为该文章包含遵循本指南的必要信息。
您喜欢Java Streams吗?
如果对这个问题的回答是“是!”,“绝对!” 或“哎呀!”,那么Speedment是适合您的工具。 Speedment是一个Java ORM工具箱和运行时,它使用纯Java Streams作为应用程序和数据库之间的接口。
除了已经熟悉的Streams API之外,Speedment还为最终用户提供了图形化工具,以便在几秒钟内生成数据库的Java表示,从而使他们可以完全停留在仅Java的环境中。
如果您想进一步了解Speedment,请前往
文档页面上 ,您将找到大量指南和示例。 在本文的其余部分,我们将重点介绍Speedment的Spring插件的新更新。
开始之前
为了生成REST API文档,Speedment使用了OpenAPI规范和Swagger UI的组合。
根据您是否从头开始,准备步骤会有所不同,但是无论起点如何,最终结果都是相同的。
如果您已按照上一篇文章中的指南进行操作,我们在该文章中解释了如何使用Speedment生成REST API,则只需向项目的pom.xml文件添加几个依赖项:
< dependencies > ... < dependency > < groupId >io.springfox</ groupId > < artifactId >springfox-swagger2</ artifactId > < version >2.9.2</ version > </ dependency > < dependency > < groupId >io.springfox</ groupId > < artifactId >springfox-swagger-ui</ artifactId > < version >2.9.2</ version > </ dependency > ... </ dependencies >
另一方面,如果您是从头开始的话,请转到Initializer ,在这里您将能够在Spring支持下生成Speedment项目。 到达初始化器后,将为您提供大量用于配置项目的选项。 一个特别重要的配置选项是Initializer的Plugins部分。
要在新的Speedment项目中启用Spring支持,请选中“ Spring”选项旁边的复选框。 对项目配置满意后,继续并单击初始化器底部的“下载”按钮。
准备就绪后,可以通过从项目模板的根文件夹执行以下命令来启动Speedment Tool:
mvn speedment:tool
如果正确安装了插件,则会看到一些特定于Spring Boot的选项,可用于配置REST API和文档。
如果这是您第一次使用Speedment,则可能需要遵循“ Hello Speedment ”快速入门指南来熟悉工作流程。
昂首阔步的自动机
对于以下示例,我们将使用MySQL示例数据库Sakila。 您可以将其下载为独立实例或Docker容器。
当您打开Speedment Tool并成功连接到数据库时,将为您提供一个用户界面,其中包含有关数据库的元数据信息以及一些您可以配置的选项:
如果单击顶部横幅中的“ Generate”按钮,将生成数据库的Java表示形式。 要为您的REST API生成文档,您必须启用在项目视图中找到的“生成REST文档”选项(可通过选择树中的顶部节点来访问该选项)。
启用后,其他配置选项将变为可用,使您可以进一步自定义生成的文档:
下次重新生成Spring项目时,将生成一些特定于OpenAPI的配置。 为了查看和使用生成的文档,您需要运行Spring应用程序。 为此,执行以下命令:
mvn spring-boot:run
一旦您的Spring应用程序启动并运行,您可以在以下端点http:// localhost:8080 / swagger-ui.html中找到生成的Swagger文档。
根据您配置项目的方式,在生成的文档中可能会看到不同的结果。 例如,如果您为某个表禁用了REST API生成,则下次您重新生成项目时,该表的端点在文档中将不可用。
借助生成的Swagger文档,您可以立即了解您的应用程序已注册了哪些REST终结点,哪些HTTP方法可用于每个终结点,并直接从Swagger UI对这些终结点执行HTTP请求:
如果不确定请求正文中需要什么,可以在文档底部“模型”部分下找到请求正文模型:
注意:连接到Swagger端点时,如果出现以下提示,请确保您的Spring入口点位于正确的程序包中(必须在Swagger配置所在的程序包上方或相同的程序包中):
这通常表明您的Swagger配置没有被Spring扫描。
摘要
编写良好且易于理解的文档可能是一个漫长而乏味的过程。 借助Speedment的Spring Boot插件的新更新,用户可以在几秒钟内为其REST API生成交互式文档。
资源资源
文章“如何快速生成整个数据库CRUD REST API”
Speedment Initializer能够生成项目模板 在GitHub上加速
s
Per Minborg
米斯拉夫·米利切维奇(MislavMiličević)
翻译自: https://www.javacodegeeks.com/2020/03/java-spring-how-to-generate-an-entire-swagger-documented-crud-rest-api-with-speedment.html
idea快速生成crud
idea快速生成crud_Java / Spring:如何快速生成完整的Swagger文档CRUD REST API相关推荐
- Java / Spring:如何快速生成整个Swagger记录的CRUD REST API
作为开发人员,我们在日常生活中经常面临的最繁琐的任务之一就是编写良好且易于理解的文档. 无论我们的文档只有几行来解释功能的核心功能,还是表明系统的来龙去脉的成熟文章都没关系. 重要的是,我们试图通过文 ...
- 自建latex服务器,快速部署支持 Makedown 和 LaTeX 等格式的 Zbox-Wiki 文档共享站点
快速部署支持 Makedown 和 LaTeX 等格式的 Zbox-Wiki 文档共享站点 Author: Poechant Blog: blog.CSDN.net/Poechant Email: z ...
- 配置 Swagger 文档的自动生成
Swagger Swagger 是一个开源工具.它围绕帮助开发人员设计.构建.记录和使用 RESTful API 的 OpenAPI 规范构建.它是 RESTful Web 服务最流行的 API 文档 ...
- swagger 扫描java文档_使用Javadocs生成Swagger文档
我想为现有的一组RESTful API构建Swagger文档.我有以下要求: 读取现有的Javadoc,以便可以在Swagger文档中使用它们. 到目前为止使用上面的插件我能够实现第1点.所以对于现有 ...
- 使用docx4j生成指定页码的带水印的空白word文档
使用docx4j生成指定页码的带水印的空白word文档 依赖========================================== org.docx4j docx4j 6.0.1 org ...
- Spring Cloud Gateway 整合 knife4j 聚合接口文档
当系统中微服务数量越来越多时,如果任由这些服务散落在各处,那么最终管理每个项目的接口文档将是一件十分麻烦的事情,单是记住所有微服务的接口文档访问地址就是一件苦差事了.当如果能够将所有微服务项目的接口文 ...
- springfox源码_做了个项目扩展 SpringFox 改善 Swagger 文档生成
这个项目默认集成了 swagger-ui,也可以配合 swagger-bootstrap-ui 使用. 请有空的同学帮忙测试一下,有问题请在这里或 github 返回,谢谢. 概述 SpringFox ...
- Gitlab 生成 swagger 文档
设置Gitlab CI 现在,我们需要生成并发布文档.要在Gitlab中创建CI管道,只需.gitlab-ci.yml在存储库的根目录中创建文件并添加以下代码: image: node:latestp ...
- unity mysql生成cexcel_【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
最新文章
- workbench应力应变曲线_说说真应力真应变
- Real World Kanban作者访谈
- MySQL MHA: 一种master高可用的主从复制解决方案
- win10下右键菜单添加“打开cmd”
- ***常用vbs脚本
- ckks方案优化最好的_站群如何优化才能提高SEO效果?站群优化方案有哪些?
- 加工中心局部坐标系g52设定_CNC加工中心程序代码大全,数控加工必备!
- 一道百度前端线上笔试题
- Python版——博客网站四 编写日志创建页
- Blazor University (9)组件 — 代码生成 HTML 属性
- nssl1163-小x游世界树【树形dp,二次扫描和换根法】
- 读写XML文档时,去掉新增加节点的“空命名空间”(xmlns=””)
- 「支持m1」命令行终端美化模拟器—Hyper for Mac
- c# textbox和listbox多行显示
- 管理感悟:怎样讲清楚自己的想法
- 【实习周记】ArrayMap源码分析
- MySQL调用存储过程和函数
- 文献参考文献著录规则
- PTA 基础编程题目集 (参考代码)
- zip 和rar 的区别
热门文章
- CF1458B Glass Half Spilled
- P3128 [USACO15DEC]Max Flow P
- 牛客题霸 [二叉搜索树的第k个结点]C++题解/答案
- 二分图匹配--匈牙利算法
- 【每日一题】7月3日精讲—毒瘤xor
- P6640-[BJOI2020]封印【SAM,二分】
- P5020-货币系统【背包】
- P5236-[模板]静态仙人掌【tarjan,LCA】
- POJ2446-Chessboard【最大匹配,二分图,奇偶建图】
- 莫比乌斯反演 做题记录