jolheiser
24f778e3bc
Signed-off-by: jolheiser <john.olheiser@gmail.com> |
||
---|---|---|
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md | ||
ban.go | ||
client.go | ||
custom.go | ||
go.mod | ||
go.sum | ||
graphql.go | ||
ping.go | ||
player.go | ||
plugin.go | ||
tps.go | ||
world.go |
README.md
go-serverapi
Go SDK for ServerAPI.
Example
package main
import (
"context"
"fmt"
"net/http"
"go.etztech.xyz/go-serverapi"
)
func main() {
// ServerAPI REST client
client := serverapi.NewClient("https://api.server.com/", &serverapi.ClientOptions{
HTTP: http.DefaultClient,
Password: "",
})
// Use the REST API
players, err := client.Players()
if err != nil {
panic(err)
}
for _, p := range players {
fmt.Println(p.Name)
}
fmt.Println()
fmt.Println()
// GraphQL Client
g := client.GraphQL()
r := client.GraphQLRequest(`
{
players {
name
}
}
`)
// Use the GraphQL API
data := struct {
// Uses serverapi.Players for the magic naming of JSON
Players serverapi.Players
}{}
if err := g.Run(context.Background(), r, &data); err != nil {
panic(err)
}
for _, p := range data.Players {
fmt.Println(p.Name)
}
}