日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

企业级 SpringBoot 教程 (十)用spring Restdocs创建API文档

發(fā)布時(shí)間:2025/3/20 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业级 SpringBoot 教程 (十)用spring Restdocs创建API文档 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這篇文章將帶你了解如何用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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。