Why Spring 7 Drops Feign in Favor of Built‑in HTTP Annotations
Spring 7 removes Feign as the default for declarative HTTP calls, introducing @HttpExchange and @ImportHttpServices so developers can use spring‑web’s @GetExchange with RestClient or WebClient, while keeping configuration and security aligned with Spring Boot 4 and Security 7.
Spring 7 officially abandons Feign as the preferred way to write declarative HTTP calls. OpenFeign has been marked feature‑complete since 2022 and now only receives bug fixes.
Spring 6 introduced the @HttpExchange annotation; Spring 7 extends this with @ImportHttpServices and group‑registration features, making it a viable replacement for Feign.
The new approach moves the management of declarative remote calls from the cloud‑native OpenFeign library to the core Spring framework. Interfaces can be annotated with @GetExchange (or other @*Exchange annotations), and the underlying client implementation is either RestClient or WebClient, consolidating timeout, interception, and observation logic.
Configuration items such as base‑url, timeouts, and OAuth2 client credentials follow the same patterns as Spring Boot 4 and Spring Security 7, eliminating the need for a separate cloud stack and version alignment.
Existing @FeignClient interfaces do not need immediate removal, but new services should adopt the @*Exchange annotations and avoid adding the spring-cloud-openfeign dependency.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Architect's Tech Stack
Java backend, microservices, distributed systems, containerized programming, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
