Golang
To integrate golang web services with API Toolkit, an SDK called the golang client for API Toolkit is utilized. It keeps track of incoming traffic, aggregates the requests, and then delivers them to the apitoolkit servers. We’ll concentrate on providing a step-by-step instruction for integrating an API toolkit into our Golang web service in this tutorial.
Design decisions:
- The SDK relies on google cloud pubsub over grpc behind the scenes, to ensure that your traffic is communicated to APIToolkit for processing in the most efficient ways.
- Processing the live traffic in this way, allows :
- APIToolkit to perform all kinds of analysis and anomaly detection and monitoring on your APIs in real time.
- Users to explore their API live, via the api log explorer.
How to Integrate with Golang Gin router:
- Sign up / Sign in to the API dashboard
- Create a project
- Generate an API key for your project, and include a brief description of your work. And to prevent losing your key after it has been generated, remember to make a copy of it.
- Installl APItoolkit and initialize the middleware with the APItoolkit API key you generated above. Integrating only takes 3 lines of Go code:
Installation
Run the following command to install the package into your Go application
go get github.com/apitoolkit/apitoolkit-go
Now you can initialize APIToolkit in your application’s entry point (eg main.go)
package main
import (
// Import the apitoolkit golang sdk
apitoolkit "github.com/apitoolkit/apitoolkit-go"
)
func main() {
ctx := context.Background()
// Initialize the client using your apitoolkit.io generated apikey
apitoolkitClient, err := apitoolkit.NewClient(ctx, apitoolkit.Config{APIKey: "<APIKEY>"})
...
router := gin.New()
// Register with the corresponding middleware of your choice. For Gin router, we use the GinMiddleware method.
router.Use(apitoolkitClient.GinMiddleware)
// Register your handlers as usual and run the gin server as usual.
router.POST("/:slug/test", func(c *gin.Context) {c.Text(200, "ok")})
...
}
Next Steps
- Deploy your application or send test http requests to your service
- Check API log explorer or Endpoints pages on the APIToolkit dashboard to see if your test request was processed correctly
- Enjoy having our API comanage your backends and APIs with you.