Package groovy.http

Annotation Interface HttpBuilderClient


@Incubating @Retention(SOURCE) @Target(TYPE) public @interface HttpBuilderClient
Marks an interface as a declarative HTTP client. An implementation class is generated at compile time via AST transform, using HttpBuilder for request execution.

Example:

 @HttpBuilderClient('https://api.example.com')
 interface MyApi {
     @Get('/users/{id}')
     Map getUser(String id)
 }

 def api = MyApi.create()
 def user = api.getUser('123')
 
Since:
6.0.0
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The base URL for all requests.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int
    Connection timeout in seconds.
    boolean
    Whether to follow HTTP redirects.
    int
    Request timeout in seconds.
  • Element Details

    • value

      String value
      The base URL for all requests.
    • connectTimeout

      int connectTimeout
      Connection timeout in seconds. Default 0 means no timeout.
      Default:
      0
    • requestTimeout

      int requestTimeout
      Request timeout in seconds. Default 0 means no timeout.
      Default:
      0
    • followRedirects

      boolean followRedirects
      Whether to follow HTTP redirects. Default is false.
      Default:
      false