{title:'@Rest-Annotated Classes', updated:'8.1.2,9.0.0'}

The {@link oajr.annotation.Rest @Rest} annotation is the primary way of defining and configuring REST resource classes. The functionality of the class itself is covered in detail in the topics below.

- {@link oajr.annotation.Rest}
  - {@link oajr.annotation.Rest#allowedHeaderParams() allowedHeaderParams}
  - {@link oajr.annotation.Rest#allowedMethodHeaders() allowedMethodHeaders}
  - {@link oajr.annotation.Rest#allowedMethodParams() allowedMethodParams}
  - {@link oajr.annotation.Rest#beanStore() beanStore}
  - {@link oajr.annotation.Rest#callLogger() callLogger}
  - {@link oajr.annotation.Rest#children() children}
  - {@link oajr.annotation.Rest#clientVersionHeader() clientVersionHeader}
  - {@link oajr.annotation.Rest#config() config}
  - {@link oajr.annotation.Rest#consumes() consumes}
  - {@link oajr.annotation.Rest#converters() converters}
  - {@link oajr.annotation.Rest#debug() debug}
  - {@link oajr.annotation.Rest#debugEnablement() debugEnablement}
  - {@link oajr.annotation.Rest#debugOn() debugOn}
  - {@link oajr.annotation.Rest#defaultAccept() defaultAccept}
  - {@link oajr.annotation.Rest#defaultCharset() defaultCharset}
  - {@link oajr.annotation.Rest#defaultContentType() defaultContentType}
  - {@link oajr.annotation.Rest#defaultRequestAttributes() defaultRequestAttributes}
  - {@link oajr.annotation.Rest#defaultRequestHeaders() defaultRequestHeaders}
  - {@link oajr.annotation.Rest#defaultResponseHeaders() defaultResponseHeaders}
  - {@link oajr.annotation.Rest#description() description}
  - {@link oajr.annotation.Rest#disableContentParam() disableContentParam}
  - {@link oajr.annotation.Rest#encoders() encoders}
  - {@link oajr.annotation.Rest#guards() guards}
  - {@link oajr.annotation.Rest#maxInput() maxInput}
  - {@link oajr.annotation.Rest#messages() messages}
  - {@link oajr.annotation.Rest#on() on}
  - {@link oajr.annotation.Rest#onClass() onClass}
  - {@link oajr.annotation.Rest#parsers() parsers}
  - {@link oajr.annotation.Rest#partParser() partParser}
  - {@link oajr.annotation.Rest#partSerializer() partSerializer}
  - {@link oajr.annotation.Rest#path() path}
  - {@link oajr.annotation.Rest#produces() produces}
  - {@link oajr.annotation.Rest#renderResponseStackTraces() renderResponseStackTraces}
  - {@link oajr.annotation.Rest#responseProcessors() responseProcessors}
  - {@link oajr.annotation.Rest#restChildrenClass() restChildrenClass}
  - {@link oajr.annotation.Rest#restOpArgs() restOpArgs}
  - {@link oajr.annotation.Rest#restOperationsClass() restOperationsClass}
  - {@link oajr.annotation.Rest#roleGuard() roleGuard}
  - {@link oajr.annotation.Rest#rolesDeclared() rolesDeclared}
  - {@link oajr.annotation.Rest#serializers() serializers}
  - {@link oajr.annotation.Rest#siteName() siteName}
  - {@link oajr.annotation.Rest#staticFiles() staticFiles}
  - {@link oajr.annotation.Rest#swagger() swagger}
  - {@link oajr.annotation.Rest#swaggerProvider() swaggerProvider}
  - {@link oajr.annotation.Rest#title() title}
  - {@link oajr.annotation.Rest#uriAuthority() uriAuthority}
  - {@link oajr.annotation.Rest#uriContext() uriContext}
  - {@link oajr.annotation.Rest#uriRelativity() uriRelativity}
  - {@link oajr.annotation.Rest#uriResolution() uriResolution}

The {@link oajr.annotation.Rest @Rest} annotation in inheritable from parents and interfaces of resource classes. When multiple annotations are defined at different levels, the annotation values are combined. This is a particularly useful feature because it allows you to define your own configured parent resource classes that can be extended by all your child resources so that they all share common settings.