Skip to content

apitoolkit/apitoolkit-springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APItoolkit's Logo APItoolkit's Logo

Springboot SDK

APItoolkit SDK Join Discord Server APItoolkit Docs

APIToolkit Springboot SKD is a middleware that can be used to monitor HTTP requests. It is provides additional functionalities on top of the open telemetry instrumentation which creates a custom span for each request capturing details about the request including request and response bodies.


Table of Contents


Installation

To install the SDK, kindly add the following dependency to your pom.xml file within the <dependencies> section like so:

<dependency>
    <groupId>io.apitoolkit.springboot</groupId>
    <artifactId>apitoolkit-springboot</artifactId>
    <version>2.0.9</version>
</dependency>

Setup Open Telemetry

Setting up open telemetry allows you to send traces, metrics and logs to the APIToolkit platform. To setup open telemetry, you need to install the opentelemetry-javaagent.jar file.

curl -L -O https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar

Setup Open Telemetry Variables

The environment variables include your API key and the endpoint to send the data to, this allows you to send data to the APIToolkit platform.

export OTEL_EXPORTER_OTLP_ENDPOINT="http://otelcol.apitoolkit.io:4317"
export OTEL_SERVICE_NAME="my-service" # Specifies the name of the service.
export OTEL_RESOURCE_ATTRIBUTES=at-project-key="{ENTER_YOUR_API_KEY_HERE}" # Adds your API KEY to the resource.
export OTEL_EXPORTER_OTLP_PROTOCOL="grpc" #Specifies the protocol to use for the OpenTelemetry exporter.

Note

The {ENTER_YOUR_API_KEY_HERE} demo string should be replaced with the API key generated from the APItoolkit dashboard.


You can then run the application with opentelemetry instrumented using the following command:

java -javaagent:<PATH-TO>/opentelemetry-javaagent.jar -jar target/your_app.jar

APItoolkit SDK Configuration

The apitoolkit sdk can be configured using the following optional properties:

apitoolkit.captureRequestBody=true
apitoolkit.captureResponseBody=true
apitoolkit.serviceName=my-service

# ...

Then, initialize the SDK like so:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// Import APItoolkit annotation
import io.apitoolkit.springboot.annotations.EnableAPIToolkit;
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
// Add APIToolkit custom annotation
@EnableAPIToolkit
@RestController
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
	@GetMapping("/greet/{name}")
	public String getUser(@PathVariable String name) {
		return "Hello, " + name;
	}
}

Important

To learn more configuration options (redacting fields, error reporting, outgoing requests, etc.), please read this SDK documentation.

Contributing and Help

To contribute to the development of this SDK or request help from the community and our team, kindly do any of the following:

License

This repository is published under the MIT license.


Releases

No releases published

Packages

No packages published

Languages