# Annotation Type RestClient

@Retention(CLASS) @Target(TYPE) public @interface RestClient

Marks an interface as a REST client that the build-time annotation processor wires up to a generated network implementation. Companion HTTP-verb annotations (`GET`, `POST`, `PUT`, `DELETE`, `PATCH`) on each method carry the path; parameter annotations (`Path`, `Query`, `Header`, `Body`) describe how each argument is attached to the request.

The processor emits a `<Tag>ApiImpl` class in generated-sources and registers it with `RestClients` so the interface's `static T of(String baseUrl)` factory can return an instance without the project source referencing the impl directly.