go-postman-collection alternatives and similar packages
Based on the "Third-party APIs" category.
Alternatively, view go-postman-collection alternatives based on common mentions on social networks and blogs.
-
githubql
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). -
openaigo
OpenAI GPT3/3.5 and GPT4 ChatGPT API Client Library for Go, simple, less dependencies, and well-tested -
gostorm
GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -
ynab
Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API.
InfluxDB - Power Real-Time Data Analytics at Scale
Do you think we are missing an alternative of go-postman-collection or a related project?
README
go-postman-collection
Go module to work with Postman Collections.
This module aims to provide a simple way to work with Postman collections. Using this module, you can create collections, update them and export them into the Postman Collection format v2 (compatible with Insomnia)
Postman Collections are a group of saved requests you can organize into folders. For more information about Postman Collections, you can visit the official documentation.
Examples
Collections
Read a Postman Collection
package main
import (
"os"
postman "github.com/rbretecher/go-postman-collection"
)
func main() {
file, err := os.Open("postman_collection.json")
defer file.Close()
if err != nil {
panic(err)
}
c, err := postman.ParseCollection(file)
_ = c
}
Create and save a Postman Collection
package main
import (
"os"
postman "github.com/rbretecher/go-postman-collection"
)
func main() {
c := postman.CreateCollection("My collection", "My awesome collection")
c.AddItemGroup("A folder").AddItem(&postman.Item{
Name: "This is a request",
Request: Request{
URL: &URL{
Raw: "http://www.google.fr",
},
Method: postman.Get,
},
})
file, err := os.Create("postman_collection.json")
defer file.Close()
if err != nil {
panic(err)
}
err = c.Write(file)
if err != nil {
panic(err)
}
}
Items
Items
are the basic unit for a Postman collection, it can either be a request (Item
) or a folder (ItemGroup
).
// Create a simple item.
item := postman.CreateItem(postman.Item{
Name: "A basic request",
Request: Request{
URL: &URL{
Raw: "http://www.google.fr",
},
Method: postman.Get,
}
})
// Create a simple folder.
folder := postman.CreateItemGroup(postman.ItemGroup{
Name: "A folder",
})
// Add the item to the folder
folder.AddItem(item)
Request
Part of the Item
, a Request
represents an HTTP request.
// Basic request
req := Request{
URL: &URL{
Raw: "http://www.google.fr",
},
Method: postman.Get,
}
// Complex request
req := postman.Request{
URL: &postman.URL{
Raw: "http://www.google.fr",
},
Method: postman.Post,
Body: &postman.Body{
Mode: "raw",
Raw: "{\"key\": \"value\"}",
},
}
Auth
Auth
can be added to a Request
or an ItemGroup
.
// Create basic auth with username and password
auth := postman.CreateAuth(postman.Basic, postman.CreateAuthParam("username", "password"))
Variable
Variable
can be added to Collection
, Item
, ItemGroup
and URL
.
v := postman.CreateVariable("env", "prod")
Current support
For now, it does not offer support for Response
and Event
objects. Feel free to submit a pull request if you want to add support for one of those objects.
Object | v2.0.0 | v2.1.0 |
---|---|---|
Collection | Yes | Yes |
ItemGroup (Folder) | Yes | Yes |
Item | Yes | Yes |
Request | Yes | Yes |
Response | No | No |
Event | No | No |
Variable | Yes | Yes |
Auth | Yes | Yes |