Flutter API测试插件postman的使用

Flutter API测试插件Postman的使用

Postman 是一个广泛使用的API开发工具,可以用来发送HTTP请求、管理和测试API。现在,我们可以使用Dart语言来处理Postman集合文件(JSON格式),以便在Flutter项目中使用这些API。

使用说明

示例 1: 将Postman集合JSON字符串转换为Postman模型

import 'package:postman/postman.dart';

void main() {
  var collectionJsonStr = r'''
{
  "info": {
    "_postman_id": "a31e8a59-aa12-48c5-96a3-133822d7247e",
    "name": "API Dash",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "26763819"
  },
  "item": [
    {
      "name": "GET Requests",
      "item": [
        {
          "name": "Simple GET",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "https://api.apidash.dev",
              "protocol": "https",
              "host": [
                "api",
                "apidash",
                "dev"
              ]
            }
          },
          "response": []
        },
        {
          "name": "Country Data",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "https://api.apidash.dev/country/data?code=US",
              "protocol": "https",
              "host": [
                "api",
                "apidash",
                "dev"
              ],
              "path": [
                "country",
                "data"
              ],
              "query": [
                {
                  "key": "code",
                  "value": "US"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "POST Requests",
      "item": [
        {
          "name": "Case Lower",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "raw",
              "raw": "{\n\"text\": \"I LOVE Flutter\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "https://api.apidash.dev/case/lower",
              "protocol": "https",
              "host": [
                "api",
                "apidash",
                "dev"
              ],
              "path": [
                "case",
                "lower"
              ]
            }
          },
          "response": []
        }
      ]
    }
  ]
}
''';

  var collection = postmanCollectionFromJsonStr(collectionJsonStr);

  print(collection.info?.name);
  // API Dash
  print(collection.item?[0].name);
  // GET Requests
  print(collection.item?[0].item?[0].request?.url?.protocol);
  // https
  print(collection.item?[0].item?[0].request?.url?.raw);
  // https://api.apidash.dev
}

示例 2: 直接从JSON创建Postman集合

import 'package:postman/postman.dart';

void main() {
  var collectionJson = {
    "info": {
      "_postman_id": "a31e8a59-aa12-48c5-96a3-133822d7247e",
      "name": "API Dash",
      "schema":
          "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
      "_exporter_id": "26763819"
    },
    "item": [
      {
        "name": "GET Requests",
        "item": [
          {
            "name": "Simple GET",
            "request": {
              "method": "GET",
              "header": [],
              "url": {
                "raw": "https://api.apidash.dev",
                "protocol": "https",
                "host": ["api", "apidash", "dev"]
              }
            },
            "response": []
          },
          {
            "name": "Country Data",
            "request": {
              "method": "GET",
              "header": [],
              "url": {
                "raw": "https://api.apidash.dev/country/data?code=US",
                "protocol": "https",
                "host": ["api", "apidash", "dev"],
                "path": ["country", "data"],
                "query": [
                  {"key": "code", "value": "US"}
                ]
              }
            },
            "response": []
          }
        ]
      },
      {
        "name": "POST Requests",
        "item": [
          {
            "name": "Case Lower",
            "request": {
              "method": "POST",
              "header": [],
              "body": {
                "mode": "raw",
                "raw": "{\n\"text\": \"I LOVE Flutter\"\n}",
                "options": {
                  "raw": {"language": "json"}
                }
              },
              "url": {
                "raw": "https://api.apidash.dev/case/lower",
                "protocol": "https",
                "host": ["api", "apidash", "dev"],
                "path": ["case", "lower"]
              }
            },
            "response": []
          }
        ]
      }
    ]
  };

  var collection = PostmanCollection.fromJson(collectionJson);

  print(collection.info?.name);
  // API Dash
  print(collection.item?[0].name);
  // GET Requests
  print(collection.item?[0].item?[0].request?.url?.protocol);
  // https
  print(collection.item?[0].item?[0].request?.url?.raw);
  // https://api.apidash.dev
}

更多关于Flutter API测试插件postman的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter API测试插件postman的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


Postman 是一个广泛使用的 API 测试工具,虽然它本身是一个独立的应用程序,而不是 Flutter 插件,但你可以在开发 Flutter 应用时使用 Postman 来测试你的 API。以下是如何在 Flutter 开发中使用 Postman 进行 API 测试的步骤:

1. 安装 Postman

首先,你需要在你的电脑上安装 Postman。你可以从 Postman 官方网站 下载并安装适合你操作系统的版本。

2. 创建或导入 API 请求

  • 创建新请求: 在 Postman 中,点击 New 按钮,然后选择 Request。你可以为请求命名并选择保存的集合(Collection)。
  • 导入请求: 如果你的 API 已经有了定义(如 OpenAPI/Swagger 文件),你可以通过 Import 按钮将其导入到 Postman 中。

3. 配置请求

在 Postman 中,你可以配置以下内容:

  • HTTP 方法: 选择 GET、POST、PUT、DELETE 等方法。
  • URL: 输入你要测试的 API 端点。
  • Headers: 添加必要的请求头,如 Content-TypeAuthorization 等。
  • Body: 对于 POST 或 PUT 请求,你可以在 Body 选项卡中添加请求体数据,通常选择 raw 并设置格式为 JSON。

4. 发送请求并查看响应

点击 Send 按钮,Postman 会发送请求到指定的 API 端点,并在下方的 Response 部分显示返回的数据。你可以查看状态码、响应时间、响应头以及响应体。

5. 保存和自动化测试

  • 保存请求: 你可以将请求保存到集合中,以便以后重复使用。
  • 自动化测试: Postman 允许你编写 JavaScript 代码来创建自动化测试。在 Tests 选项卡中编写测试脚本,Postman 会在每次请求后运行这些测试。

6. 将 API 集成到 Flutter 中

一旦你在 Postman 中测试并验证了 API,你可以将 API 调用集成到你的 Flutter 应用中。通常你会使用 http 包来进行 HTTP 请求:

import 'package:http/http.dart' as http;
import 'dart:convert';

Future<void> fetchData() async {
  final response = await http.get(Uri.parse('https://api.example.com/data'));

  if (response.statusCode == 200) {
    var data = jsonDecode(response.body);
    print(data);
  } else {
    throw Exception('Failed to load data');
  }
}
回到顶部