javascript
企业级 SpringBoot 教程 (十)用spring Restdocs创建API文档
這篇文章將帶你了解如何用spring官方推薦的restdoc去生成api文檔。本文創(chuàng)建一個(gè)簡(jiǎn)單的springboot工程,將http接口通過(guò)Api文檔暴露出來(lái)。只需要通過(guò) JUnit單元測(cè)試和Spring的MockMVC就可以生成文檔。
準(zhǔn)備工作
- 你需要15min
- Jdk 1.8
- maven 3.0+
- idea
創(chuàng)建工程
引入依賴(lài),其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>復(fù)制代碼
通過(guò)@SpringBootApplication,開(kāi)啟springboot
@SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 復(fù)制代碼
在springboot通常創(chuàng)建一個(gè)controller:
@RestController public class HomeController {@GetMapping("/")public Map<String, Object> greeting() {return Collections.singletonMap("message", "Hello World");}}復(fù)制代碼
啟動(dòng)工程,訪問(wèn)localhost:8080,瀏覽器顯示:
{“message”:”Hello World”}
證明接口已經(jīng)寫(xiě)好了,但是如何通過(guò)restdoc生存api文檔呢
Restdoc,通過(guò)單元測(cè)試生成api文檔
restdocs是通過(guò)單元測(cè)試生存snippets文件,然后snippets根據(jù)插件生成htm文檔的。
建一個(gè)單元測(cè)試類(lèi):
@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"));} } 復(fù)制代碼
其中,@ AutoConfigureRestDocs注解開(kāi)啟了生成snippets文件,并指定了存放位置。
啟動(dòng)單元測(cè)試,測(cè)試通過(guò),你會(huì)發(fā)現(xiàn)在target文件下生成了一個(gè)snippets文件夾,其目錄結(jié)構(gòu)如下:
└── target└── snippets└── home└── httpie-request.adoc└── curl-request.adoc└── http-request.adoc└── http-response.adoc 復(fù)制代碼
默認(rèn)情況下,snippets是Asciidoctor格式的文件,包括request和reponse,另外其他兩種httpie和curl兩種流行的命令行的http請(qǐng)求模式。
到目前為止,只生成了Snippets文件,需要用Snippets文件生成文檔。
資料和源碼來(lái)源地址
Spring Cloud大型企業(yè)分布式微服務(wù)云架構(gòu)源碼請(qǐng)加企鵝求求:一七九一七四三三八零
轉(zhuǎn)載于:https://juejin.im/post/5c86008e5188257e566ee057
總結(jié)
以上是生活随笔為你收集整理的企业级 SpringBoot 教程 (十)用spring Restdocs创建API文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 定义一个数组返回最大子数组的值(1)
- 下一篇: 游戏开发学习ing