Skip to content
alyn
rrezartprebreza

Http Interface Clients skill

Use when calling external HTTP APIs from Spring Boot 3 / Spring Framework 6 with declarative HttpExchange interfaces. Covers manual proxy registration, RestClient versus WebClient, and timeout and error handling conventions.

$npx skills add rrezartprebreza/spring-boot-skills --skill http-interface-clients
View this skill on GitHubrrezartprebreza/spring-boot-skills/skills/spring-boot-3/http-interface-clients/SKILL.md
Pack stars
353
Pack installs
3k
Alyn Score
53/99
Updated
4 h ago
License
MIT
– views – installs via Alyn

rrezartprebreza

Http Interface Clients

Install Http Interface Clients

Pick your agent. Every command is ready to paste.

$npx skills add rrezartprebreza/spring-boot-skills --skill http-interface-clients

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads http-interface-clients when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the http-interface-clients skill”. In Codex, type $http-interface-clients.

The skill itself

SKILL.md

FolderGitHub

Declarative HTTP Interface Clients (Boot 3)

Spring Framework 6 supports @HttpExchange interfaces, but Boot 3 does not provide Boot 4's @ImportHttpServices group auto-registration. Build the client adapter explicitly.

@HttpExchange("/orders")
interface OrderApiClient {
    @GetExchange("/{id}")
    OrderDto get(@PathVariable UUID id);
}

@Configuration
class ClientConfig {
    @Bean
    OrderApiClient orderApiClient(RestClient.Builder builder,
                                  @Value("${clients.orders.base-url}") String baseUrl) {
        RestClient client = builder.baseUrl(baseUrl).build();
        HttpServiceProxyFactory factory =
            HttpServiceProxyFactory.builderFor(RestClientAdapter.create(client)).build();
        return factory.createClient(OrderApiClient.class);
    }
}

Use WebClientAdapter for reactive interfaces returning Mono or Flux. Configure base URLs, timeouts, authentication, and error translation in the client adapter layer rather than in controllers or domain services. Prefer one factory/configurer per external service.

Transport failure contract

Define an adapter policy before adding retry annotations. The companion CatalogHttpClient implements the CatalogRetryService.CatalogTransport port from the resilience-retry skill and uses explicit JDK connect/read timeouts. It is a small imperative adapter example, not a reason to replace an existing HTTP interface or Boot-managed client.

Failure Example policy for an idempotent read
401/403, malformed request, missing resource Surface the domain-appropriate error; no blind retry
502/503/504, connect/read timeout Translate to the bounded retry policy
429 with Retry-After Schedule only within the caller's budget; not implemented by this example
Cancellation or interruption Propagate immediately, preserving interruption
Invalid response body or TLS/certificate error Diagnose; do not repeatedly retry by default

For POST/payment calls, preserve the same idempotency key and request bytes across retries; a timeout does not prove the server did nothing. Never forward inbound Authorization to an arbitrary destination: configure credentials per trusted service. Do not allow an end user to choose the base URL. Avoid logging tokens or raw upstream error bodies.

Test the real client adapter against a stub HTTP server, including permanent status codes, transient-then-success responses, malformed bodies, delayed responses and cancellation. Keep connect, read, pool-acquisition and total deadlines distinct. When using WebClient, apply a total timeout around the whole retry sequence and avoid blocking the event loop.

See Spring REST clients.

Verification scope

The repository fixture targets Boot 3.5.16 with Java 17/21 and checks the imperative catalog adapter against a local HTTP server; not every declarative group-registration option. Check the coverage matrix before treating another minor version or an illustrative snippet as verified.

Gotchas

  • Agent uses @ImportHttpServices - that Boot 4 registration API is not available in Boot 3.
  • Agent adds @Component or an implementation to the interface - register the generated proxy as a bean.
  • Agent uses RestClient for Mono or Flux - use WebClientAdapter for reactive return types.
  • Agent hard-codes remote hosts in annotations - keep URLs in configuration.
  • Agent lets transport errors leak through the domain - translate them in the client adapter.
  • Agent creates a new client per request - configure and reuse a singleton proxy.

Tips for Http Interface Clients

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Http Interface Clients

What does the Http Interface Clients skill do?

Use when calling external HTTP APIs from Spring Boot 3 / Spring Framework 6 with declarative HttpExchange interfaces. Covers manual proxy registration, RestClient versus WebClient, and timeout and error handling conventions.

How do I install Http Interface Clients?

Run "npx skills add rrezartprebreza/spring-boot-skills --skill http-interface-clients" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Http Interface Clients work in Cursor and Codex?

Yes. Http Interface Clients uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Http Interface Clients free?

Http Interface Clients is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Http Interface Clients?

Http Interface Clients is published by rrezartprebreza in the rrezartprebreza/spring-boot-skills repository, together with 29 other skills.

Similar skills. From other creators.