美文网首页
springboot集成restdocs输出接口文档

springboot集成restdocs输出接口文档

作者: 言雨生百谷 | 来源:发表于2020-01-20 10:42 被阅读0次

    1、pom文件新增restdocs

    <dependency>                  
    <groupId>org.springframework.restdocs</groupId>
    <artifactId>spring-restdocs-mockmvc</artifactId>    
    <scope>test</scope>
    </dependency>
    
    <plugin>    
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>    
    <version>1.5.8</version>    
        <executions>        
            <execution>            
                <id>generate-docs</id>            
                <phase>prepare-package</phase>            
                <goals>                
                    <goal>process-asciidoc</goal>            
                </goals>            
                <configuration>                
                    <backend>html</backend>                
                    <doctype>book</doctype>            
                </configuration>        
            </execution>    
        </executions>    
    <dependencies>        
        <dependency>
            <groupId>org.springframework.restdocs</groupId>
            <artifactId>spring-restdocs-asciidoctor</artifactId>
            <version>${spring-restdocs.version}</version>
        </dependency>    
    </dependencies>
    </plugin>
    

    2、在test包下新建controller

    @RunWith(SpringRunner.class)
    @SpringBootTestpublic class ApiBaseController {    
    
        @Rule    
        public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();    
        
        public MockMvc mockMvc;    
        
        @Autowired    
        private WebApplicationContext context;    
        
        @Before    
        public void setUp() {        
            this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
                        .apply(documentationConfiguration(this.restDocumentation))
                        .build();   
        }
    }
    

    3、新建单元测试

    public class TestController extends ApiBaseController {
        @Test    
        public void test() throws Exception  {        
            super.mockMvc.perform(post("/test").param("aaa", "bbb")                
                            .contentType(MediaType.APPLICATION_JSON))                
                            .andDo(document("{ClassName}/{methodName}", 
                            preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),                        
                            requestParameters(parameterWithName("aaa").description("查询名字"))));    
         }
     }
    

    4、运行后会在target\generated-snippets生成adoc文件
    5、在main下新建asciidoc包,新建index.adoc 拼接已经生成的adoc

    = API:toc: 
    left:toclevels: 4
    [[order-it]]
    == 1. 订单接口
    [[order-query]]
    === 订单查询
    operation::TestController/test[snippets='curl-request,http-request']
    

    相关文章

      网友评论

          本文标题:springboot集成restdocs输出接口文档

          本文链接:https://www.haomeiwen.com/subject/gdhjzctx.html