我使用偉大的swagger2markup插件爲Swagger提供的REST API生成Asciidoc文檔。我按照swagger2markup documentation和我使用的是Spring MVC的集成測試,從我Springfox揚鞭端點這樣的(我使用Maven)生成標記:Swagger2Markup:在測試中使用Swagger遠程端點時如何按標籤分組?
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = { AppConfig.class, SwaggerConfig.class })
public class DocumentationIT {
protected MockMvc mockMvc;
@Autowired
protected WebApplicationContext webApplicationContext;
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("src/docs/asciidoc/apidoc/generated-snippets");
@Before
public void setUp(){
this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext)
.apply(documentationConfiguration(this.restDocumentation))
.build();
}
@Test
public void convertSwaggerToAsciiDoc() throws Exception {
this.mockMvc.perform(get("/v2/api-docs")
.accept(MediaType.APPLICATION_JSON))
.andDo(
Swagger2MarkupResultHandler
.outputDirectory("src/docs/asciidoc/apidoc")
.withExamples("src/docs/asciidoc/apidoc/generated-snippets").build())
.andExpect(status().isOk());
}
}
一切是偉大的工作,我的所有路徑都在我的最後文檔,但是路徑所有直接出現在根並且不被資源(由控制器IE)分組,所以從Method 1
Controller 1
將出現在相同的水平Method 2
從Controller 2
。
我的輸出:
我想什麼:
從我所看到的,在這個swagger2-markup Maven project template可以使用代時從本地文件一樣指定一個屬性來告訴swagger2markup使用配置屬性<swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy>
通過標籤對路徑進行分組,但是在使用0時似乎沒有這種配置來自測試。唯一的選擇是withMarkupLanguage()
,但沒有withPathsGroupedBy()
方法...
我在這裏錯過了什麼嗎?
感謝您的回答。不幸的是,'springfox-staticdocs'插件當前不依賴於支持系統屬性的'Swagger2Markup'版本(它目前依賴於'v0.9.2',你引用的文檔似乎適用於'v1.0.0' +) 。 然而,你的第二個解決方案確實很好,即使我直接在lib中提交了一個[pull request](https://github.com/springfox/springfox/pull/1498) )但是現在這是一個足夠好的解決方法,謝謝! – Pom12