当前位置:  开发笔记 > 后端 > 正文

如何生成swagger.json

如何解决《如何生成swagger.json》经验,为你挑选了5个好方法。

我正在使用java spring boot框架为我的项目创建REST api,我使用"springfox-swagger2和springfox-swagger-ui"来生成swagger文档.我可以使用url http:// localhost:8080/swagger-ui.html查看我的文档.

如何创建或生成swagger.json/spec.json,文档不应该与此应用程序一起使用我们使用单独的应用程序列出api文档



1> Liping Huang..:

您可以使用swagger-ui html页面获取网址:

在此输入图像描述

GET http://localhost:8080/v2/api-docs?group=App

实际上你可以通过chrome/firefox开发工具网络功能获得所有网址.


如何从该URL下载swagger.json / spec.json文件?

2> 小智..:

我来晚了一点,但是我发现您可以打开浏览器控制台,找到GET请求的URL,该请求返回Swagger文档的JSON定义。将我的API映射到AWS API Gateway时,以下技术对我有用。

去做这个:

    导航到您的Swagger文档端点

    打开浏览器控制台

    刷新页面

    导航到“网络”选项卡并按XHR请求进行过滤

    右键单击以结尾的XHR请求 ?format=openapi

    您现在可以将其复制并粘贴到新的JSON文件中!



3> MK-rou..:

如果使用Maven,则可以使用swagger-maven-plugin生成客户端和服务器端文档(yaml,json和html)。

将此添加到您的pom.xml中:

.....
 
                com.github.kongchen
                swagger-maven-plugin
                3.0.1
                
                    
                        
                            true
                            com.yourcontrollers.package.v1
                            http,https
                            localhost:8080
                            /api-doc
                            
                                Your API name
                                v1
                                 description of your API
                                
                                    http://www.yourterms.com
                                
                                
                                    your-email@email.com
                                    Your Name
                                    http://www.contact-url.com
                                
                                
                                    http://www.licence-url.com
                                    Commercial
                                
                            
                            
                            ${basedir}/templates/strapdown.html.hbs
                            ${basedir}/generated/document.html
                            generated/swagger-ui
                            
                                
                                    basicAuth
                                    basic
                                
                            
                        
                    
                
             ........

您可以在以下地址下载* .hbs模板:https : //github.com/kongchen/swagger-maven-example

执行mvn swagger:generate JSon文档将在您的项目/ generation / swagger /目录中生成。将其粘贴到此地址:http : //editor.swagger.io

并生成所需的内容(首选技术中的服务器端或客户端API)



4> Bikesh M..:

我用一个小技巧完成了这个

我在家庭控制器测试用例的末尾添加了以下代码

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();
        }

    }

}
}

我不知道这是正确的方式但是它正在工作:)

依赖

    
        io.springfox
        springfox-swagger2
        2.4.0
    

    
        io.springfox
        springfox-swagger-ui
        2.6.1
     



5> Niccolò..:

您应该可以在以下位置获取swagger.json

http:// localhost:8080 / api-docs

假设您没有像pet store示例应用程序中那样保留版本。在这种情况下,URL为:

http:// localhost:8080 / v2 / api-docs

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有