mirror of
https://github.com/foss42/apidash.git
synced 2025-12-03 11:27:50 +08:00
made necessary name and typo corrections
This commit is contained in:
366
packages/insomnia_collection/example/insomnia_example.dart
Normal file
366
packages/insomnia_collection/example/insomnia_example.dart
Normal file
@@ -0,0 +1,366 @@
|
||||
|
||||
import 'package:insomnia_collection/insomnia_collection.dart';
|
||||
|
||||
void main() {
|
||||
// Example 1: Insomnia collection JSON string to Insomnia model
|
||||
var collectionJsonStr = r'''
|
||||
{
|
||||
"_type": "export",
|
||||
"__export_format": 4,
|
||||
"__export_date": "2025-01-05T13:05:11.752Z",
|
||||
"__export_source": "insomnia.desktop.app:v10.3.0",
|
||||
"resources": [
|
||||
{
|
||||
"_id":"req_15f4d64ca3084a92a0680e29a958c9da",
|
||||
"parentId":"fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified":1736112258432,
|
||||
"created":1736111908438,
|
||||
"url":"https://food-service-backend.onrender.com/api/users/",
|
||||
"name":"get-with-params",
|
||||
"description":"",
|
||||
"method":"GET",
|
||||
"body":{},
|
||||
"parameters": [
|
||||
{"id":"pair_bf0ae4f4280e440a8a591b64fd4ec4f4","name":"user_id","value":"34","description":"","disabled":false}
|
||||
],
|
||||
"headers":[{"name":"User-Agent","value":"insomnia/10.3.0"}],
|
||||
"authentication":{},
|
||||
"metaSortKey":-1736111908438,
|
||||
"isPrivate":false,
|
||||
"pathParameters":[],
|
||||
"settingStoreCookies":true,
|
||||
"settingSendCookies":true,
|
||||
"settingDisableRenderRequestBody":false,
|
||||
"settingEncodeUrl":true,
|
||||
"settingRebuildPath":true,
|
||||
"settingFollowRedirects": "global",
|
||||
"_type":"request"
|
||||
},
|
||||
{
|
||||
"_id":"fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"parentId":"wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified":1736082089076,
|
||||
"created":1736082089076,
|
||||
"name":"APIDash-APItests",
|
||||
"description":"These are test endpoints for API Dash",
|
||||
"environment":{},"environmentPropertyOrder":null,
|
||||
"metaSortKey":-1736082080559,
|
||||
"preRequestScript":"",
|
||||
"afterResponseScript":"",
|
||||
"authentication":{},
|
||||
"_type":"request_group"
|
||||
},
|
||||
{"_id":"wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"parentId":null,
|
||||
"modified":1736082089075,
|
||||
"created":1736082089075,
|
||||
"name":"APIDash-APItests","description":"",
|
||||
"scope":"collection","_type":"workspace"},
|
||||
{
|
||||
"_id":"req_db3c393084f14369bb409afe857e390c",
|
||||
"parentId":"fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified":1736082089077,
|
||||
"created":1736082089077,
|
||||
"url":"https://api.apidash.dev/country/codes",
|
||||
"name":"test-get",
|
||||
"description":"",
|
||||
"method":"GET",
|
||||
"body":{},
|
||||
"parameters":[],
|
||||
"headers":[],
|
||||
"authentication":{},
|
||||
"preRequestScript":"",
|
||||
"metaSortKey":-1736082080558,
|
||||
"isPrivate":false,
|
||||
"afterResponseScript":"",
|
||||
"settingStoreCookies":true,
|
||||
"settingSendCookies":true,
|
||||
"settingDisableRenderRequestBody":false,
|
||||
"settingEncodeUrl":true,
|
||||
"settingRebuildPath":true,
|
||||
"settingFollowRedirects":"global",
|
||||
"_type":"request"},
|
||||
{"_id":"req_ba718bbacd094e95a30ef3f07baa4e42",
|
||||
"parentId":"fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified":1736082089078,"created":1736082089078,
|
||||
"url":"https://api.apidash.dev/case/lower",
|
||||
"name":"test-post",
|
||||
"description":"",
|
||||
"method":"POST",
|
||||
"body":{"mimeType":"application/json","text":"{\n \"text\": \"Grass is green\"\n}"},
|
||||
"parameters":[],
|
||||
"headers":[{"name":"Content-Type","value":"application/json"}],
|
||||
"authentication":{},
|
||||
"preRequestScript":"",
|
||||
"metaSortKey":-1736082080557,
|
||||
"isPrivate":false,
|
||||
"afterResponseScript":"",
|
||||
"settingStoreCookies":true,
|
||||
"settingSendCookies":true,
|
||||
"settingDisableRenderRequestBody":false,
|
||||
"settingEncodeUrl":true,
|
||||
"settingRebuildPath":true,
|
||||
"settingFollowRedirects":"global",
|
||||
"_type":"request"},
|
||||
{"_id":"req_24cff90fc3c74e71a567f61d3f8e8cc1",
|
||||
"parentId":"fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified":1736082089078,
|
||||
"created":1736082089078,
|
||||
"url":"https://reqres.in/api/users/2",
|
||||
"name":"test-put",
|
||||
"description":"",
|
||||
"method":"PUT",
|
||||
"body":{"mimeType":"application/json",
|
||||
"text":"{\n \"name\": \"morpheus\",\n \"job\": \"zion resident\"\n}"},
|
||||
"parameters":[],
|
||||
"headers":[{"name":"Content-Type","value":"application/json"}],
|
||||
"authentication":{},
|
||||
"preRequestScript":"",
|
||||
"metaSortKey":-1736082080556,
|
||||
"isPrivate":false,
|
||||
"afterResponseScript":"",
|
||||
"settingStoreCookies":true,
|
||||
"settingSendCookies":true,
|
||||
"settingDisableRenderRequestBody":false,
|
||||
"settingEncodeUrl":true,
|
||||
"settingRebuildPath":true,
|
||||
"settingFollowRedirects":"global",
|
||||
"_type":"request"},
|
||||
{"_id":"env_9d818b2866dffc9831640d91a516ea3986e16bda",
|
||||
"parentId":"wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified":1736082095630,"created":1736082095630,
|
||||
"name":"Base Environment",
|
||||
"data":{},"dataPropertyOrder":null,
|
||||
"color":null,
|
||||
"isPrivate":false,
|
||||
"metaSortKey":1736082095630,
|
||||
"environmentType":"kv",
|
||||
"_type":"environment"
|
||||
},
|
||||
{
|
||||
"_id":"jar_9d818b2866dffc9831640d91a516ea3986e16bda",
|
||||
"parentId":"wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified":1736082095688,
|
||||
"created":1736082095688,
|
||||
"name":"Default Jar",
|
||||
"cookies":[],
|
||||
"_type":"cookie_jar"
|
||||
}
|
||||
]
|
||||
}
|
||||
''';
|
||||
|
||||
|
||||
|
||||
var collection;
|
||||
try {
|
||||
collection = insomniaCollectionFromJsonStr(collectionJsonStr);
|
||||
|
||||
|
||||
|
||||
print(collection.exportSource);
|
||||
// insomnia.desktop.app:v10.3.0
|
||||
print(collection.resources?[3].name);
|
||||
// test-get
|
||||
print(collection.resources?[3].method);
|
||||
// GET
|
||||
print(collection.resources?[3].url);
|
||||
// https://api.apidash.dev/country/codes
|
||||
} catch (e) {
|
||||
print(e.toString() + 'error from collection');
|
||||
}
|
||||
|
||||
|
||||
// Example 2: Insomnia collection from JSON
|
||||
var collectionJson = {
|
||||
"_type": "export",
|
||||
"__export_format": 4,
|
||||
"__export_date": "2025-01-05T13:05:11.752Z",
|
||||
"__export_source": "insomnia.desktop.app:v10.3.0",
|
||||
"resources": [
|
||||
{
|
||||
"_id": "req_15f4d64ca3084a92a0680e29a958c9da",
|
||||
"parentId": "fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified": 1736112258432,
|
||||
"created": 1736111908438,
|
||||
"url": "https://food-service-backend.onrender.com/api/users/",
|
||||
"name": "get-with-params",
|
||||
"description": "",
|
||||
"method": "GET",
|
||||
"body": {},
|
||||
"parameters": [
|
||||
{
|
||||
"id": "pair_bf0ae4f4280e440a8a591b64fd4ec4f4",
|
||||
"name": "user_id",
|
||||
"value": "34",
|
||||
"description": "",
|
||||
"disabled": false
|
||||
}
|
||||
],
|
||||
"headers": [
|
||||
{"name": "User-Agent", "value": "insomnia/10.3.0"}
|
||||
],
|
||||
"authentication": {},
|
||||
"metaSortKey": -1736111908438,
|
||||
"isPrivate": false,
|
||||
"pathParameters": [],
|
||||
"settingStoreCookies": true,
|
||||
"settingSendCookies": true,
|
||||
"settingDisableRenderRequestBody": false,
|
||||
"settingEncodeUrl": true,
|
||||
"settingRebuildPath": true,
|
||||
"settingFollowRedirects": "global",
|
||||
"_type": "request"
|
||||
},
|
||||
{
|
||||
"_id": "fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"parentId": "wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified": 1736082089076,
|
||||
"created": 1736082089076,
|
||||
"name": "APIDash-APItests",
|
||||
"description": "These are test endpoints for API Dash",
|
||||
"environment": {},
|
||||
"environmentPropertyOrder": null,
|
||||
"metaSortKey": -1736082080559,
|
||||
"preRequestScript": "",
|
||||
"afterResponseScript": "",
|
||||
"authentication": {},
|
||||
"_type": "request_group"
|
||||
},
|
||||
{
|
||||
"_id": "wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"parentId": null,
|
||||
"modified": 1736082089075,
|
||||
"created": 1736082089075,
|
||||
"name": "APIDash-APItests",
|
||||
"description": "",
|
||||
"scope": "collection",
|
||||
"_type": "workspace"
|
||||
},
|
||||
{
|
||||
"_id": "req_db3c393084f14369bb409afe857e390c",
|
||||
"parentId": "fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified": 1736082089077,
|
||||
"created": 1736082089077,
|
||||
"url": "https://api.apidash.dev/country/codes",
|
||||
"name": "test-get",
|
||||
"description": "",
|
||||
"method": "GET",
|
||||
"body": {},
|
||||
"parameters": [],
|
||||
"headers": [],
|
||||
"authentication": {},
|
||||
"preRequestScript": "",
|
||||
"metaSortKey": -1736082080558,
|
||||
"isPrivate": false,
|
||||
"afterResponseScript": "",
|
||||
"settingStoreCookies": true,
|
||||
"settingSendCookies": true,
|
||||
"settingDisableRenderRequestBody": false,
|
||||
"settingEncodeUrl": true,
|
||||
"settingRebuildPath": true,
|
||||
"settingFollowRedirects": "global",
|
||||
"_type": "request"
|
||||
},
|
||||
{
|
||||
"_id": "req_ba718bbacd094e95a30ef3f07baa4e42",
|
||||
"parentId": "fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified": 1736082089078,
|
||||
"created": 1736082089078,
|
||||
"url": "https://api.apidash.dev/case/lower",
|
||||
"name": "test-post",
|
||||
"description": "",
|
||||
"method": "POST",
|
||||
"body": {
|
||||
"mimeType": "application/json",
|
||||
"text": "{\n \"text\": \"Grass is green\"\n}"
|
||||
},
|
||||
"parameters": [],
|
||||
"headers": [
|
||||
{"name": "Content-Type", "value": "application/json"}
|
||||
],
|
||||
"authentication": {},
|
||||
"preRequestScript": "",
|
||||
"metaSortKey": -1736082080557,
|
||||
"isPrivate": false,
|
||||
"afterResponseScript": "",
|
||||
"settingStoreCookies": true,
|
||||
"settingSendCookies": true,
|
||||
"settingDisableRenderRequestBody": false,
|
||||
"settingEncodeUrl": true,
|
||||
"settingRebuildPath": true,
|
||||
"settingFollowRedirects": "global",
|
||||
"_type": "request"
|
||||
},
|
||||
{
|
||||
"_id": "req_24cff90fc3c74e71a567f61d3f8e8cc1",
|
||||
"parentId": "fld_a2e9704c49034e36a05cdb3a233f6ebd",
|
||||
"modified": 1736082089078,
|
||||
"created": 1736082089078,
|
||||
"url": "https://reqres.in/api/users/2",
|
||||
"name": "test-put",
|
||||
"description": "",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"mimeType": "application/json",
|
||||
"text":
|
||||
"{\n \"name\": \"morpheus\",\n \"job\": \"zion resident\"\n}"
|
||||
},
|
||||
"parameters": [],
|
||||
"headers": [
|
||||
{"name": "Content-Type", "value": "application/json"}
|
||||
],
|
||||
"authentication": {},
|
||||
"preRequestScript": "",
|
||||
"metaSortKey": -1736082080556,
|
||||
"isPrivate": false,
|
||||
"afterResponseScript": "",
|
||||
"settingStoreCookies": true,
|
||||
"settingSendCookies": true,
|
||||
"settingDisableRenderRequestBody": false,
|
||||
"settingEncodeUrl": true,
|
||||
"settingRebuildPath": true,
|
||||
"settingFollowRedirects": "global",
|
||||
"_type": "request"
|
||||
},
|
||||
{
|
||||
"_id": "env_9d818b2866dffc9831640d91a516ea3986e16bda",
|
||||
"parentId": "wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified": 1736082095630,
|
||||
"created": 1736082095630,
|
||||
"name": "Base Environment",
|
||||
"data": {},
|
||||
"dataPropertyOrder": null,
|
||||
"color": null,
|
||||
"isPrivate": false,
|
||||
"metaSortKey": 1736082095630,
|
||||
"environmentType": "kv",
|
||||
"_type": "environment"
|
||||
},
|
||||
{
|
||||
"_id": "jar_9d818b2866dffc9831640d91a516ea3986e16bda",
|
||||
"parentId": "wrk_fde7dcc4f5064b74b0fd749cbf8f684a",
|
||||
"modified": 1736082095688,
|
||||
"created": 1736082095688,
|
||||
"name": "Default Jar",
|
||||
"cookies": [],
|
||||
"_type": "cookie_jar"
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var collection2;
|
||||
try {
|
||||
collection2 = InsomniaCollection.fromJson(collectionJson);
|
||||
print(collection2.exportSource);
|
||||
// insomnia.desktop.app:v10.3.0
|
||||
print(collection2.resources?[3].name);
|
||||
// test-get
|
||||
print(collection2.resources?[3].method);
|
||||
// GET
|
||||
print(collection2.resources?[3].url);
|
||||
// https://api.apidash.dev/country/codes
|
||||
} catch (e) {
|
||||
print(e.toString() + 'error from collection2');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user