https://github.com/apitoolkit/apitoolkit-springboot
APItoolkit Spring Boot client SDK.
https://github.com/apitoolkit/apitoolkit-springboot
apitoolkit apitoolkit-sdk java spring-boot
Last synced: 3 months ago
JSON representation
APItoolkit Spring Boot client SDK.
- Host: GitHub
- URL: https://github.com/apitoolkit/apitoolkit-springboot
- Owner: apitoolkit
- License: mit
- Created: 2024-05-26T23:51:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-28T14:09:28.000Z (about 1 year ago)
- Last Synced: 2024-05-29T02:26:22.222Z (about 1 year ago)
- Topics: apitoolkit, apitoolkit-sdk, java, spring-boot
- Language: Java
- Homepage:
- Size: 32.2 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

## Springboot SDK
[](https://github.com/topics/apitoolkit-sdk) [](https://apitoolkit.io/discord?utm_campaign=devrel&utm_medium=github&utm_source=sdks_readme) [](https://apitoolkit.io/docs/sdks/java/springboot?utm_campaign=devrel&utm_medium=github&utm_source=sdks_readme)
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](#installation)
- [Setup Open Telemetry](#setup-open-telemetry)
- [APItoolkit SDK Configuration](#apitoolkit-sdk-configuration)
- [Contributing and Help](#contributing-and-help)
- [License](#license)---
## Installation
To install the SDK, kindly add the following dependency to your `pom.xml` file within the `` section like so:
```xml
io.apitoolkit.springboot
apitoolkit-springboot
2.0.9```
## 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.```sh
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.
```sh
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](https://apitoolkit.io/docs/dashboard/settings-pages/api-keys?utm_campaign=devrel&utm_medium=github&utm_source=sdks_readme) generated from the APItoolkit dashboard.
You can then run the application with opentelemetry instrumented using the following command:
```sh
java -javaagent:/opentelemetry-javaagent.jar -jar target/your_app.jar
```## APItoolkit SDK Configuration
The apitoolkit sdk can be configured using the following optional properties:
```sh
apitoolkit.captureRequestBody=true
apitoolkit.captureResponseBody=true
apitoolkit.serviceName=my-service# ...
```Then, initialize the SDK like so:
```java
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](https://apitoolkit.io/docs/sdks/java/springboot?utm_campaign=devrel&utm_medium=github&utm_source=sdks_readme).## 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:
- Read our [Contributors Guide](https://github.com/apitoolkit/.github/blob/main/CONTRIBUTING.md).
- Join our community [Discord Server](https://apitoolkit.io/discord?utm_campaign=devrel&utm_medium=github&utm_source=sdks_readme).
- Create a [new issue](https://github.com/apitoolkit/apitoolkit-springboot/issues/new/choose) in this repository.## License
This repository is published under the [MIT](LICENSE) license.
---