# outerbanks-api A graphql api where we can store and get information on characters in Outerbanks. > This example is an updated version (**2023**) of outerbanks-api and it is based on: https://www.apollographql.com/blog/graphql/golang/using-graphql-with-golang. ![](https://www.iris-go.com/images/graphql_playground.png) ## Getting Started ```sh $ go install github.com/99designs/gqlgen@latest ``` Add `gqlgen` to your project's `tools.go` file ```sh $ printf '// +build tools\npackage tools\nimport _ "github.com/99designs/gqlgen"' | gofmt > tools.go $ go get github.com/kataras/iris/v12@latest $ go mod tidy -compat=1.20 ``` Start the graphql server ``` $ go run . ``` ## Mutation Open http://localhost:8080 On the editor panel paste: ```graphql mutation upsertCharacter($input:CharacterInput!){ upsertCharacter(input:$input) { name id } } ``` And in the variables panel below, paste: ```json { "input":{ "name": "kataras", "cliqueType": "POGUES" } } ``` Hit Ctrl+Enter to apply the mutation. ## Query Query: ```graphql query character($id:ID!) { character(id:$id) { id name } } ``` Variables: ```json { "id":1 } ``` ## Re-generate code ```sh $ cd graph $ rm -f graph/schema.resolvers.go $ touch schema.graphql # make your updates here $ gqlgen generate ```