我正在使用Java Spring Boot框架为我的项目创建REST api,并且正在使用“ springfox-swagger2和springfox- swagger-ui”生成摇摇欲坠的文档。我可以使用URL http:// localhost:8080 / swagger- ui.html查看我的文档。
如何创建或生成swagger.json / spec.json ,文档不应该包含在此应用程序中,我们使用单独的应用程序列出了API文档。
我已经做了一个小技巧
我在家庭控制器测试用例的末尾添加了以下代码
import org.springframework.boot.test.web.client.TestRestTemplate; public class HomeControllerTest extends .... ...... { @Autowired private TestRestTemplate restTemplate; @Test public void testHome() throws Exception { //....... //... my home controller test code //..... String swagger = this.restTemplate.getForObject("/v2/api-docs", String.class); this.writeFile("spec.json", swagger ); } public void writeFile(String fileName, String content) { File theDir = new File("swagger"); if (!theDir.exists()) { try{ theDir.mkdir(); } catch(SecurityException se){ } } BufferedWriter bw = null; FileWriter fw = null; try { fw = new FileWriter("swagger/"+fileName); bw = new BufferedWriter(fw); bw.write(content); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bw != null) bw.close(); if (fw != null) fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
我不知道这是不是正确的方法,但是它正在工作:)
相依性
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>