JAva版spring cloud+spring boot+redisソーシャル電子商取引プラットフォーム(10)spring RestdocsでAPIドキュメントを作成

2698 ワード

電子商取引の社交プラットフォームのソースコードはペンギンをプラスして求めてください:叁五叁六贰四七五九.この文章では、springの公式推奨restdocでapiドキュメントを生成する方法について説明します.この文書では、httpインタフェースをApiドキュメントを介して露出する簡単なspringbootエンジニアリングを作成します.JUnitユニットテストとSpringのMockMVCでドキュメントを生成するだけです.
準備作業
  • 15 min
  • が必要です
  • 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
    

    電子商取引の社交のプラットフォームのソースコードはペンギンをプラスして求めます:叁五叁六贰四七五九