国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot非官方教程 | 第十篇: 用Spring Restdocs創建API文檔

RdouTyping / 2176人閱讀

摘要:建一個單元測試類其中,注解開啟了生成文件,并指定了存放位置。怎么用創建一個新文件用構建文檔這個例子非常簡單,通過單元測試和一些簡單的配置就能夠得到文檔了。

準備工作
你需要15min
Jdk 1.8
maven 3.0+
idea
創建工程

引入依賴,其pom文件:


    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
    

    
        org.springframework.restdocs
        spring-restdocs-mockmvc
        test
    

通過@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 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 {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public 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文件生成文檔。

怎么用Snippets

創建一個新文件src/main/asciidoc/index.adoc :

用 Spring REST Docs 構建文檔

This is an example output for a service running at http://localhost:8080:

.request
include::{snippets}/home/http-request.adoc[]

.response
include::{snippets}/home/http-response.adoc[]

這個例子非常簡單,通過單元測試和一些簡單的配置就能夠得到api文檔了。

adoc的書寫格式,參考:http://docs.spring.io/spring-...,這里不多講解。

需要使用asciidoctor-maven-plugin插件,在其pom文件加上:


    org.asciidoctor
    asciidoctor-maven-plugin
    
        
            generate-docs
            prepare-package
            
                process-asciidoc
            
            
                index.adoc
                html
                
                    ${project.build.directory}/snippets
                
            
        
    

這時只需要通過mvnw package命令就可以生成文檔了。
在/target/generated-docs下有個index.html,打開這個html,顯示如下,界面還算簡潔:

結語

通過單元測試,生存adoc文件,再用adoc文件生存html,只需要簡單的幾步就可以生成一個api文檔的html文件,這個html文件你可以通網站發布出去。整個過程很簡單,對代碼無任何影響。

源碼下載:https://github.com/forezp/Spr...

參考資料

restdocs

http://docs.spring.io/spring-...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70370.html

相關文章

  • 一起來學SpringBoot | 十篇:使Spring Cache集成Redis

    摘要:特點具備相當的好的靈活性,不僅能夠使用來定義緩存的和各種,還提供開箱即用的緩存臨時存儲方案,也支持和主流的專業緩存例如的集成。其中號代表這是一個表達式,此表達式可以遍歷方法的參數對象,具體語法可以參考的相關文檔手冊。 SpringBoot 是為了簡化 Spring 應用的創建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,...

    littleGrow 評論0 收藏0
  • 一起來學SpringBoot | 十篇:使Spring Cache集成Redis

    摘要:特點具備相當的好的靈活性,不僅能夠使用來定義緩存的和各種,還提供開箱即用的緩存臨時存儲方案,也支持和主流的專業緩存例如的集成。其中號代表這是一個表達式,此表達式可以遍歷方法的參數對象,具體語法可以參考的相關文檔手冊。 SpringBoot 是為了簡化 Spring 應用的創建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,...

    shadajin 評論0 收藏0
  • Gradle環境下導出Swagger為PDF

    摘要:沒錯,不支持,從導出的文檔也可以看到,部分中文無法顯示,目前我也尚未找到是否有配置可以實現這個功能。相對前面的方式,使用起來更加簡單,也可以修改配置輸出中文。 更多精彩博文,歡迎訪問我的個人博客 說明 我個人是一直使用Swagger作為接口文檔的說明的。但是由于在一些情況下,接口文檔說明需要以文件的形式交付出去,如果再重新寫一份文檔難免有些麻煩。于是在網上看到了Swagger2Mar...

    OnlyMyRailgun 評論0 收藏0
  • Spring Boot [如何優雅的編寫文檔]

    摘要:導讀在團隊協作的時候許多時候需要用到接口文檔,我們通常通過手工編寫大量重復格式的文檔,讓我想起了程序員最討厭的兩件事沒有文檔,編寫文檔。對應的資料可自行谷歌。關于和官網是這樣描述的。我們可以理解為為基于構建的自動生成文檔。 導讀: 在團隊協作的時候許多時候需要用到接口文檔,我們通常通過手工編寫大量重復格式的文檔,讓我想起了程序員最討厭的兩件事:沒有文檔,編寫文檔。哈哈,如果使用過swa...

    曹金海 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<