Skip to content

[Enhancement] Add Spring Boot auto-configuration starter for Deepgram #62

@deepgram-robot

Description

@deepgram-robot

Summary

Add a Spring Boot auto-configuration module (deepgram-spring-boot-starter) that provides automatic DeepgramClient bean configuration from application.yml / application.properties, making it trivial to use Deepgram in Spring Boot applications.

Problem it solves

Spring Boot is the dominant Java web framework, and its auto-configuration pattern is the expected way to integrate third-party services. Currently, Java developers must manually instantiate and configure DeepgramClient in every Spring Boot app. A Spring Boot starter would let developers add Deepgram to any Spring Boot project with a single dependency and a config property, following the same pattern as other service SDKs (AWS, Stripe, Twilio all provide Spring Boot starters). This is especially important for Deepgram's new Java SDK — making it Spring-native from the start establishes the right developer experience pattern.

Proposed API

# application.yml
deepgram:
  api-key: ${DEEPGRAM_API_KEY}
  model: nova-3
  language: en
@RestController
public class TranscriptionController {

    private final DeepgramClient deepgram;

    // Auto-injected by Spring Boot starter
    public TranscriptionController(DeepgramClient deepgram) {
        this.deepgram = deepgram;
    }

    @PostMapping("/transcribe")
    public TranscriptionResponse transcribe(@RequestParam MultipartFile audio) {
        // Client is pre-configured from application.yml
        return deepgram.listen().transcribeFile(audio.getBytes(), options);
    }
}
<!-- pom.xml -->
<dependency>
    <groupId>com.deepgram</groupId>
    <artifactId>deepgram-spring-boot-starter</artifactId>
    <version>${deepgram.version}</version>
</dependency>

Acceptance criteria

  • Auto-configures DeepgramClient bean from deepgram.* properties
  • Supports application.yml and application.properties configuration
  • Provides DeepgramProperties class with Spring configuration metadata (IDE auto-complete)
  • Conditional on deepgram.api-key being present (no bean created without config)
  • Health indicator for Spring Boot Actuator (/actuator/health)
  • Works with Spring Boot 3.x
  • Documented with usage example
  • Compatible with existing SDK API

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions