当前位置: 首页 > 知识库问答 >
问题:

如何将Swagger API导入Postman?

巢宏富
2023-03-14

最近,我用SpringMvc和swagger ui(v2)编写了RESTfulAPI。我注意到Postman中的导入功能:

所以我的问题是如何创建邮递员需要的文件?

我不熟悉招摇。

共有3个答案

张嘉
2023-03-14

公认的答案是正确的,但我将重写java的完整步骤。

我目前正在将Swagger V2Spring Boot 2一起使用,这是一个简单的3步过程。

第1步:在pom.xml文件中添加所需的依赖项。第二个依赖项是可选的,仅当您需要Swagger UI时才使用它。

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

步骤2:添加配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {

     public static final Contact DEFAULT_CONTACT = new Contact("Usama Amjad", "https://stackoverflow.com/users/4704510/usamaamjad", "hello@email.com");
      public static final ApiInfo DEFAULT_API_INFO = new ApiInfo("Article API", "Article API documentation sample", "1.0", "urn:tos",
              DEFAULT_CONTACT, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<VendorExtension>());

    @Bean
    public Docket api() {
        Set<String> producesAndConsumes = new HashSet<>();
        producesAndConsumes.add("application/json");
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(DEFAULT_API_INFO)
                .produces(producesAndConsumes)
                .consumes(producesAndConsumes);

    }
}

第3步:设置完成,现在您需要在控制器中记录API

    @ApiOperation(value = "Returns a list Articles for a given Author", response = Article.class, responseContainer = "List")
    @ApiResponses(value = { @ApiResponse(code = 200, message = "Success"),
            @ApiResponse(code = 404, message = "The resource you were trying to reach is not found") })
    @GetMapping(path = "/articles/users/{userId}")
    public List<Article> getArticlesByUser() {
       // Do your code
    }

用法:

您可以从http://localhost:8080/v2/api-文档只需复制并粘贴到Postman中即可导入收藏。

可选的招摇用户界面:您也可以通过http://localhost:8080/swagger-用户界面。html,这很好,您可以轻松地托管您的文档。

饶承宣
2023-03-14

具有Net Core现在非常简单:

  1. 你可以在你的招摇页面上找到JSON URL:
柯锋
2023-03-14

我从事PHP工作,并使用Swagger 2.0来记录API。Swagger文档是动态创建的(至少这是我在PHP中使用的)。文档以JSON格式生成。

示例文档

{
    "swagger": "2.0",
    "info": {
    "title": "Company Admin Panel",
        "description": "Converting the Magento code into core PHP and RESTful APIs for increasing the performance of the website.",
        "contact": {
        "email": "jaydeep1012@gmail.com"
        },
        "version": "1.0.0"
    },
    "host": "localhost/cv_admin/api",
    "schemes": [
    "http"
],
    "paths": {
    "/getCustomerByEmail.php": {
        "post": {
            "summary": "List the details of customer by the email.",
                "consumes": [
                "string",
                "application/json",
                "application/x-www-form-urlencoded"
            ],
                "produces": [
                "application/json"
            ],
                "parameters": [
                    {
                        "name": "email",
                        "in": "body",
                        "description": "Customer email to ge the data",
                        "required": true,
                        "schema": {
                        "properties": {
                            "id": {
                                "properties": {
                                    "abc": {
                                        "properties": {
                                            "inner_abc": {
                                                "type": "number",
                                                    "default": 1,
                                                    "example": 123
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "xyz": {
                                        "type": "string",
                                            "default": "xyz default value",
                                            "example": "xyz example value"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                "200": {
                    "description": "Details of the customer"
                    },
                    "400": {
                    "description": "Email required"
                    },
                    "404": {
                    "description": "Customer does not exist"
                    },
                    "default": {
                    "description": "an \"unexpected\" error"
                    }
                }
            }
        },
        "/getCustomerById.php": {
        "get": {
            "summary": "List the details of customer by the ID",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Customer ID to get the data",
                        "required": true,
                        "type": "integer"
                    }
                ],
                "responses": {
                "200": {
                    "description": "Details of the customer"
                    },
                    "400": {
                    "description": "ID required"
                    },
                    "404": {
                    "description": "Customer does not exist"
                    },
                    "default": {
                    "description": "an \"unexpected\" error"
                    }
                }
            }
        },
        "/getShipmentById.php": {
        "get": {
            "summary": "List the details of shipment by the ID",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Shipment ID to get the data",
                        "required": true,
                        "type": "integer"
                    }
                ],
                "responses": {
                "200": {
                    "description": "Details of the shipment"
                    },
                    "404": {
                    "description": "Shipment does not exist"
                    },
                    "400": {
                    "description": "ID required"
                    },
                    "default": {
                    "description": "an \"unexpected\" error"
                    }
                }
            }
        }
    },
    "definitions": {

    }
}

这可以导入邮差如下。

  1. 单击Postman UI左上角的“导入”按钮
  2. 您将看到多个导入API文档的选项。单击“粘贴原始文本”
  3. 将JSON格式粘贴到文本区域,然后单击导入
  4. 您将看到所有API都是“Postman Collection”,可以从Postman那里使用它

您也可以使用“从链接导入”。在此处粘贴从Swagger或任何其他API文档工具生成API JSON格式的URL。

这是我的文档(JSON)生成文件。它是PHP格式的。我不知道JAVA和Swagger。

<?php
require("vendor/autoload.php");
$swagger = \Swagger\scan('path_of_the_directory_to_scan');
header('Content-Type: application/json');
echo $swagger;
 类似资料:
  • 我试图解决一些问题,我找到了旧的解决方案:Gradle构建空控制台对象 问题是,解决方案包括在gradle中导入一些东西。 如何导入例如:? 我从未在构建中导入任何内容。gradle,我找不到它的例子。

  • 我想在Intellij中的项目中添加一个库。在项目设置中添加外部库后,Intellij识别该库,并告诉我在尝试从外部类实例化对象时导入它。 但是当我尝试从外部库导入一个类时,Intellij不接受它,说“无法解析符号”。

  • 我正在使用ros框架开发一个机器人。作为ide,我使用PyCharm。但是我不能将ros导入其中。在ros网站上有一篇关于ide的文章http://wiki.ros.org/IDEs.有关于将ros与pyCharm一起使用的信息。我必须修改.桌面文件,但是我使用软件中心的一个快照安装了PyCharm。我在哪里可以找到快照应用程序的.桌面文件?可以有另一种方法将ros导入PyCharm吗? 编辑:@

  • 问题内容: 我使用的是android studio,我想在应用程序中导入“ ZXING”,我发现了很多文章,并找到了以下网站 https://github.com/zxing/zxing/ 我下载了ZIP和解压缩文件,并找到了一些教程,但是有关细节似乎不太详细,我需要导入什么内容?实现QRCode扫描 我还是不知道该怎么做 4/14我尝试提供“ zxing-android-minimal”的列侬U

  • 问题内容: 如何在Eclipse中导入“ HttpClient”?我刚才从http://hc.apache.org/downloads.cgi下载了HttpClient 。我将其添加到Eclipse新的Java项目中,并希望从网站运行示例副本。 这个示例使用了可惜的是,它表明Eclipse无法解决此问题。 现在,我想知道将新发布的HttpClient导入我的项目的正确方法。是否有必要在classp

  • 问题内容: 如何在Jenkinsfile中导入Groovy类?我尝试了几种方法,但没有一个奏效。 这是我要导入的类: 事态发展 这些是行不通的: Jenkinsfile-1 Jenkinsfile-2 Jenkinsfile-3 问题答案: 您可以通过load命令返回该类的新实例,并使用该对象调用“ doStuff” 因此,您可以在“ Thing.groovy”中找到它 您将在dsl脚本中包含以下