这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档。本文创建一个简单的springboot工程,将http接口通过Api文档暴露出来。只需要通过 JUnit单元测试和Spring的MockMVC就可以生成文档。

准备工作

  • 你需要15min
  • Jdk 1.8
  • maven 3.0+
  • idea

创建工程

引入依赖,其pom文件:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.restdocs</groupId><artifactId>spring-restdocs-mockmvc</artifactId><scope>test</scope></dependency></dependencies>复制代码

通过@SpringBootApplication,开启springboot

@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}复制代码

在springboot通常创建一个controller:

@RestController
public class HomeController {@GetMapping("/")public Map<String, Object> greeting() {return Collections.singletonMap("message", "Hello World");}}复制代码

启动工程,访问localhost:8080,浏览器显示:

{“message”:”Hello World”}复制代码

证明接口已经写好了,但是如何通过restdoc生存api文档呢

Restdoc,通过单元测试生成api文档

restdocs是通过单元测试生存snippets文件,然后snippets根据插件生成htm文档的。

建一个单元测试类:

@RunWith(SpringRunner.class)
@WebMvcTest(HomeController.class)
@AutoConfigureRestDocs(outputDir = "target/snippets")
public class WebLayerTest {@Autowiredprivate MockMvc mockMvc;@Testpublic void shouldReturnDefaultMessage() throws Exception {this.mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk()).andExpect(content().string(containsString("Hello World"))).andDo(document("home"));}
}复制代码

其中,@ AutoConfigureRestDocs注解开启了生成snippets文件,并指定了存放位置。

启动单元测试,测试通过,你会发现在target文件下生成了一个snippets文件夹,其目录结构如下:

└── target└── snippets└── home└── httpie-request.adoc└── curl-request.adoc└── http-request.adoc└── http-response.adoc复制代码

默认情况下,snippets是Asciidoctor格式的文件,包括request和reponse,另外其他两种httpie和curl两种流行的命令行的http请求模式。

到目前为止,只生成了Snippets文件,需要用Snippets文件生成文档。

 架构代码如下:

资料和源码来源地址

Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 一零叁八七七四六贰六

转载于:https://juejin.im/post/5c36e7dcf265da61171cedfb

java B2B2C springmvc mybatis仿淘宝电子商城系统(十)用spring Restdocs创建API文档相关推荐

  1. java B2B2C 仿淘宝电子商城系统-Spring Cloud Feign的文件上传实现

    在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本文就来具体说说如何实现.需要JAVA Spring Cloud大型企业分布式微服务云构建的B2 ...

  2. java B2B2C Springboot仿淘宝电子商城系统-负载均衡之ribbon+feign

    一. feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解.它具有可插拔的注解特性,可使用Feign注解和JAX-RS注 ...

  3. java B2B2C 仿淘宝电子商城系统-Spring Cloud Eureka参数配置项详解

    Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考. 需要JA ...

  4. java B2B2C Springcloud仿淘宝电子商城系统-spring cloud 框架原理

    我们从整体来看一下Spring Cloud主要的组件,以及它的访问流程 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 1.外部或者 ...

  5. java B2B2C 源码 多级分销Springcloud多租户电子商城系统(十)用spring Restdocs创建API文档...

    这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档.本文创建一个简单的springboot工程,将http接口通过Api文档暴露出来.只需要通过 JUnit单元测试和Spri ...

  6. (四)java B2B2C Springboot仿淘宝电子商城系统技术解决方案

    鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台.愿意了解源码的朋友直接求求交流分享技术:二一四 ...

  7. java B2B2C 仿淘宝电子商城系统-eureka 基础

    服务发现:Eureka客户端 服务发现是基于微服务架构的关键原则之一.尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱.Netflix服务发现服务器和客户端是Eureka.可以将服务器配置 ...

  8. java B2B2C Springcloud仿淘宝电子商城系统

    Spring Cloud是基于Spring Boot的一整套实现微服务的框架.他提供了微服务开发所需的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理 ...

  9. java B2B2C Springboot仿淘宝电子商城系统(六)springboot整合mybatis

    引入依赖 在pom文件引入mybatis-spring-boot-starter的依赖: <dependency><groupId>org.mybatis.spring.boo ...

最新文章

  1. C#程序实现动态调用DLL的研究(转)
  2. 如何查看linux动态链接库文件的版本等其他信息
  3. 面试题之判断栈的入栈和出栈序列的合法性
  4. python的一些常用操作
  5. python慢在哪里_求大神分析一下我的python脚本慢在哪里?
  6. build linux kernel
  7. Mac 终端提示:The default interactive shell is now zsh.
  8. fetch 不是xhr_春招|前端2019应届春招:不是被大厂选,而是选大厂(字节跳动,美团,网易)...
  9. oracle报无效月份 注册表,在oracle中插入时间时出现“无效的月份”解决方法
  10. 40+大厂AI面经,秋招offer手到擒来!
  11. methods和computed的区别
  12. matlab中函数在哪儿,matlab怎么调用函数
  13. 发现一款好用的 java web报表工具
  14. git pull更新不到最新代码
  15. ISBN 国际标准书号
  16. zabbix配置拓扑图标签及链路流量
  17. 因数据造假,奔驰、日产、保时捷被韩国环境部处以重罚
  18. 苹果订阅服务器端开发
  19. 笔记本电脑外接显示器,仅显示器的时候卡顿问题的解决方案
  20. 使用StarUML画类图

热门文章

  1. python批量删除注释_批量删除C和C++注释
  2. 牛红红的日记(平平无奇拿下域控)
  3. 国内网站安全测试6大步骤
  4. vue项目没有router文件夹_vueRouter没有报错,但是页面渲染空白
  5. c语言第一个mfc程序,c语言之MFC的进程和线程
  6. 2015 2020 r4烧录卡 区别_谁跑赢了沪深300?聪明指数全收益排名 2020-04-10
  7. 如何c51和mdk共存兼容_电磁兼容入门篇之基础知识(一)
  8. netcore开源框架_.NET Core开发精选文章目录,持续更新,欢迎投稿!
  9. 内网通 去广告 代码_一文秒懂Facebook广告投放常见专业术语
  10. java 扩展数据类型_005Java学习--数据类型及拓展