Annotation Interface HttpExchange


Annotation to declare a method on an HTTP service interface as an HTTP endpoint. The endpoint details are defined statically through attributes of the annotation, as well as through the input method argument types.

Supported at the type level to express common attributes, to be inherited by all methods, such as a base URL path.

At the method level, it's more common to use one of the following HTTP method specific, shortcut annotations, each of which is itself meta-annotated with HttpExchange:

Supported method arguments:

Method Argument Description Resolver
URI Dynamically set the URL for the request, overriding the annotation's url() attribute UrlArgumentResolver
HttpMethod Dynamically set the HTTP method for the request, overriding the annotation's method() attribute HttpMethodArgumentResolver
@RequestHeader Add a request header RequestHeaderArgumentResolver
@PathVariable Add a path variable for the URI template PathVariableArgumentResolver
@RequestBody Set the body of the request RequestBodyArgumentResolver
@RequestParam Add a request parameter, either form data if "Content-Type" is "application/x-www-form-urlencoded" or query params otherwise RequestParamArgumentResolver
@RequestPart Add a request part, which may be a String (form field), Resource (file part), Object (entity to be encoded, e.g. as JSON), HttpEntity (part content and headers), a Part, or a Publisher of any of the above. ( RequestPartArgumentResolver
@CookieValue Add a cookie CookieValueArgumentResolver
从以下版本开始:
4.0
作者:
Rossen Stoyanchev
  • 可选元素概要

    可选元素
    修饰符和类型
    可选元素
    说明
    The media types for the "Accept" header.
    The media type for the "Content-Type" header.
    The HTTP method to use.
    The URL for the request, either a full URL or a path only that is relative to a URL declared in a type-level @HttpExchange, and/or a globally configured base URL.
    This is an alias for url().
  • 元素详细资料

    • value

      @AliasFor("url") String value
      This is an alias for url().
      默认值:
      ""
    • url

      @AliasFor("value") String url
      The URL for the request, either a full URL or a path only that is relative to a URL declared in a type-level @HttpExchange, and/or a globally configured base URL.

      By default, this is empty.

      默认值:
      ""
    • method

      String method
      The HTTP method to use.

      Supported at the type level as well as at the method level. When used at the type level, all method-level mappings inherit this value.

      By default, this is empty.

      默认值:
      ""
    • contentType

      String contentType
      The media type for the "Content-Type" header.

      Supported at the type level as well as at the method level, in which case the method-level values override type-level values.

      By default, this is empty.

      默认值:
      ""
    • accept

      String[] accept
      The media types for the "Accept" header.

      Supported at the type level as well as at the method level, in which case the method-level values override type-level values.

      By default, this is empty.

      默认值:
      {}