| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (18) --> |
| <title>Rest (Apache Juneau 9.0.0)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.juneau.rest.annotation, annotation type: Rest"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span></button> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Summary:</p> |
| <ul> |
| <li>Field</li> |
| <li>Required</li> |
| <li><a href="#annotation-interface-optional-element-summary">Optional</a></li> |
| </ul> |
| </li> |
| <li> |
| <p>Detail:</p> |
| <ul> |
| <li>Field</li> |
| <li><a href="#annotation-interface-element-detail">Element</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Field | </li> |
| <li>Required | </li> |
| <li><a href="#annotation-interface-optional-element-summary">Optional</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#annotation-interface-element-detail">Element</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.juneau.rest.annotation</a></div> |
| <h1 title="Annotation Type Rest" class="title">Annotation Type Rest</h1> |
| </div> |
| <section class="class-description" id="class-description"> |
| <hr> |
| <div class="type-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="external-link">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html#TYPE" title="class or interface in java.lang.annotation" class="external-link">TYPE</a>) |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="external-link">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html#RUNTIME" title="class or interface in java.lang.annotation" class="external-link">RUNTIME</a>) |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Inherited.html" title="class or interface in java.lang.annotation" class="external-link">@Inherited</a> |
| <a href="../../annotation/ContextApply.html" title="annotation in org.apache.juneau.annotation">@ContextApply</a>({<a href="RestAnnotation.RestContextApply.html" title="class in org.apache.juneau.rest.annotation">RestContextApply.class</a>,<a href="RestAnnotation.RestOpContextApply.html" title="class in org.apache.juneau.rest.annotation">RestOpContextApply.class</a>}) |
| <a href="../../annotation/AnnotationGroup.html" title="annotation in org.apache.juneau.annotation">@AnnotationGroup</a>(<a href="Rest.html" title="annotation in org.apache.juneau.rest.annotation">Rest.class</a>) |
| </span><span class="modifiers">public @interface </span><span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-54">Rest</a></span></div> |
| <div class="block">Used to denote that a class is a REST resource and to associate metadata on it. |
| |
| <p> |
| Usually used on a subclass of <a href="../servlet/RestServlet.html" title="class in org.apache.juneau.rest.servlet"><code>RestServlet</code></a>, but can be used to annotate any class that you want to expose as |
| a REST resource. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jrs.AnnotatedClasses">@Rest-Annotated Classes</a> |
| |
| </ul></div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== --> |
| <li> |
| <section class="member-summary" id="annotation-interface-optional-element-summary"> |
| <h2>Optional Element Summary</h2> |
| <div class="caption"><span>Optional Elements</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Optional Element</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#allowedHeaderParams()" class="member-name-link">allowedHeaderParams</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Allowed header URL parameters.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#allowedMethodHeaders()" class="member-name-link">allowedMethodHeaders</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Allowed method headers.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#allowedMethodParams()" class="member-name-link">allowedMethodParams</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Allowed method parameters.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>></code></div> |
| <div class="col-second odd-row-color"><code><a href="#beanStore()" class="member-name-link">beanStore</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">The resolver used for resolving instances of child resources and various other beans including: |
| |
| <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a> |
| <a href="../swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger"><code>SwaggerProvider</code></a> |
| <a href="../../cp/FileFinder.html" title="interface in org.apache.juneau.cp"><code>FileFinder</code></a> |
| <a href="../staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile"><code>StaticFiles</code></a> |
| </div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>></code></div> |
| <div class="col-second even-row-color"><code><a href="#callLogger()" class="member-name-link">callLogger</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Specifies the logger to use for logging of HTTP requests and responses.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#children()" class="member-name-link">children</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">REST children.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#clientVersionHeader()" class="member-name-link">clientVersionHeader</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Client version header.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#config()" class="member-name-link">config</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Optional location of configuration file for this servlet.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#consumes()" class="member-name-link">consumes</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Supported content media types.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../converter/RestConverter.html" title="interface in org.apache.juneau.rest.converter">RestConverter</a>>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#converters()" class="member-name-link">converters</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Class-level response converters.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#debug()" class="member-name-link">debug</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Enable debug mode.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>></code></div> |
| <div class="col-second odd-row-color"><code><a href="#debugEnablement()" class="member-name-link">debugEnablement</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Debug enablement bean.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#debugOn()" class="member-name-link">debugOn</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Enable debug mode on specified classes/methods.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#defaultAccept()" class="member-name-link">defaultAccept</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Default <c>Accept</c> header.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#defaultCharset()" class="member-name-link">defaultCharset</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Default character encoding.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#defaultContentType()" class="member-name-link">defaultContentType</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Default <c>Content-Type</c> header.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#defaultRequestAttributes()" class="member-name-link">defaultRequestAttributes</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Default request attributes.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#defaultRequestHeaders()" class="member-name-link">defaultRequestHeaders</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Default request headers.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#defaultResponseHeaders()" class="member-name-link">defaultResponseHeaders</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Default response headers.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#description()" class="member-name-link">description</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Optional servlet description.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#disableContentParam()" class="member-name-link">disableContentParam</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Disable content URL parameter.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#encoders()" class="member-name-link">encoders</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Specifies the compression encoders for this resource.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../guard/RestGuard.html" title="class in org.apache.juneau.rest.guard">RestGuard</a>>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#guards()" class="member-name-link">guards</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Class-level guards.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#maxInput()" class="member-name-link">maxInput</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">The maximum allowed input size (in bytes) on HTTP requests.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#messages()" class="member-name-link">messages</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Messages.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#on()" class="member-name-link">on</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Dynamically apply this annotation to the specified classes.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#onClass()" class="member-name-link">onClass</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Dynamically apply this annotation to the specified classes.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#parsers()" class="member-name-link">parsers</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Specifies the parsers for converting HTTP request bodies into POJOs.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>></code></div> |
| <div class="col-second even-row-color"><code><a href="#partParser()" class="member-name-link">partParser</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">HTTP part parser.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>></code></div> |
| <div class="col-second odd-row-color"><code><a href="#partSerializer()" class="member-name-link">partSerializer</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">HTTP part serializer.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#path()" class="member-name-link">path</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Resource path.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#produces()" class="member-name-link">produces</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Supported accept media types.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#renderResponseStackTraces()" class="member-name-link">renderResponseStackTraces</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Render response stack traces in responses.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#responseProcessors()" class="member-name-link">responseProcessors</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Response processors.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../RestChildren.html" title="class in org.apache.juneau.rest">RestChildren</a>></code></div> |
| <div class="col-second even-row-color"><code><a href="#restChildrenClass()" class="member-name-link">restChildrenClass</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">REST children class.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../arg/RestOpArg.html" title="interface in org.apache.juneau.rest.arg">RestOpArg</a>>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#restOpArgs()" class="member-name-link">restOpArgs</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Java REST operation method parameter resolvers.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../RestOperations.html" title="class in org.apache.juneau.rest">RestOperations</a>></code></div> |
| <div class="col-second even-row-color"><code><a href="#restOperationsClass()" class="member-name-link">restOperationsClass</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">REST methods class.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#roleGuard()" class="member-name-link">roleGuard</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Role guard.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#rolesDeclared()" class="member-name-link">rolesDeclared</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Declared roles.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>>[]</code></div> |
| <div class="col-second odd-row-color"><code><a href="#serializers()" class="member-name-link">serializers</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Specifies the serializers for POJOs into HTTP response bodies.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#siteName()" class="member-name-link">siteName</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Optional site name.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>></code></div> |
| <div class="col-second odd-row-color"><code><a href="#staticFiles()" class="member-name-link">staticFiles</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Static files.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="Swagger.html" title="annotation in org.apache.juneau.rest.annotation">Swagger</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#swagger()" class="member-name-link">swagger</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Provides swagger-specific metadata on this resource.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>></code></div> |
| <div class="col-second odd-row-color"><code><a href="#swaggerProvider()" class="member-name-link">swaggerProvider</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Swagger provider.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div> |
| <div class="col-second even-row-color"><code><a href="#title()" class="member-name-link">title</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Optional servlet title.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#uriAuthority()" class="member-name-link">uriAuthority</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Resource authority path.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#uriContext()" class="member-name-link">uriContext</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Resource context path.</div> |
| </div> |
| <div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#uriRelativity()" class="member-name-link">uriRelativity</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">URI-resolution relativity.</div> |
| </div> |
| <div class="col-first even-row-color"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#uriResolution()" class="member-name-link">uriResolution</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">URI-resolution.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details" id="annotation-interface-element-detail"> |
| <ul class="details-list"> |
| <!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== --> |
| <li> |
| <section class="member-details"> |
| <h2>Element Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="disableContentParam()"> |
| <h3>disableContentParam</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-85">disableContentParam</a></span></div> |
| <div class="block">Disable content URL parameter. |
| |
| <p> |
| When enabled, the HTTP content content on PUT and POST requests can be passed in as text using the <js>"content"</js> |
| URL parameter. |
| <br> |
| For example: |
| <p class='burlenc'> |
| ?content=(name='John%20Smith',age=45) |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#disableContentParam()"><code>RestContext.Builder.disableContentParam()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allowedHeaderParams()"> |
| <h3>allowedHeaderParams</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-115">allowedHeaderParams</a></span></div> |
| <div class="block">Allowed header URL parameters. |
| |
| <p> |
| When specified, allows headers such as <js>"Accept"</js> and <js>"Content-Type"</js> to be passed in as URL query |
| parameters. |
| <br> |
| For example: |
| <p class='burlenc'> |
| ?Accept=text/json&Content-Type=text/json |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| Use <js>"*"</js> to represent all methods. |
| <li class='note'> |
| Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#allowedHeaderParams(java.lang.String)"><code>RestContext.Builder.allowedHeaderParams(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allowedMethodHeaders()"> |
| <h3>allowedMethodHeaders</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-143">allowedMethodHeaders</a></span></div> |
| <div class="block">Allowed method headers. |
| |
| <p> |
| A comma-delimited list of HTTP method names that are allowed to be passed as values in an <c>X-Method</c> HTTP header |
| to override the real HTTP method name. |
| <p> |
| Allows you to override the actual HTTP method with a simulated method. |
| <br>For example, if an HTTP Client API doesn't support <c>PATCH</c> but does support <c>POST</c> (because |
| <c>PATCH</c> is not part of the original HTTP spec), you can add a <c>X-Method: PATCH</c> header on a normal |
| <c>HTTP POST /foo</c> request call which will make the HTTP call look like a <c>PATCH</c> request in any of the REST APIs. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| Method names are case-insensitive. |
| <li class='note'> |
| Use <js>"*"</js> to represent all methods. |
| <li class='note'> |
| Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allowedMethodParams()"> |
| <h3>allowedMethodParams</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-173">allowedMethodParams</a></span></div> |
| <div class="block">Allowed method parameters. |
| |
| <p> |
| When specified, the HTTP method can be overridden by passing in a <js>"method"</js> URL parameter on a regular |
| GET request. |
| <br> |
| For example: |
| <p class='burlenc'> |
| ?method=OPTIONS |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| Use <js>"*"</js> to represent all methods. |
| <li class='note'> |
| Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#allowedMethodParams(java.lang.String)"><code>RestContext.Builder.allowedMethodParams(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="callLogger()"> |
| <h3>callLogger</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-203">callLogger</a></span></div> |
| <div class="block">Specifies the logger to use for logging of HTTP requests and responses. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| The default call logger if not specified is <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a>. |
| <li class='note'> |
| The resource class itself will be used if it implements the <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a> interface and not |
| explicitly overridden via this annotation. |
| <li class='note'> |
| The implementation must have one of the following constructors: |
| <ul> |
| <li><code><jk>public</jk> T(RestContext)</code> |
| <li><code><jk>public</jk> T()</code> |
| <li><code><jk>public static</jk> T <jsm>create</jsm>(RestContext)</code> |
| <li><code><jk>public static</jk> T <jsm>create</jsm>()</code> |
| </ul> |
| <li class='note'> |
| Inner classes of the REST resource class are allowed. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#callLogger()"><code>RestContext.Builder.callLogger()</code></a> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.logger.CallLogger.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="beanStore()"> |
| <h3>beanStore</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-220">beanStore</a></span></div> |
| <div class="block">The resolver used for resolving instances of child resources and various other beans including: |
| <ul> |
| <li><a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a> |
| <li><a href="../swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger"><code>SwaggerProvider</code></a> |
| <li><a href="../../cp/FileFinder.html" title="interface in org.apache.juneau.cp"><code>FileFinder</code></a> |
| <li><a href="../staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile"><code>StaticFiles</code></a> |
| </ul> |
| |
| <p> |
| Note that the <c>SpringRestServlet</c> classes uses the <c>SpringBeanStore</c> class to allow for any |
| Spring beans to be injected into your REST resources.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.cp.BeanStore.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="children()"> |
| <h3>children</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-240">children</a></span></div> |
| <div class="block">REST children. |
| |
| <p> |
| Defines children of this resource. |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Children on child are combined with those on parent class. |
| <li>Children are list parent-to-child in the order they appear in the annotation. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#children(java.lang.Object...)"><code>RestContext.Builder.children(Object...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="clientVersionHeader()"> |
| <h3>clientVersionHeader</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-260">clientVersionHeader</a></span></div> |
| <div class="block">Client version header. |
| |
| <p> |
| Specifies the name of the header used to denote the client version on HTTP requests. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#clientVersionHeader(java.lang.String)"><code>RestContext.Builder.clientVersionHeader(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="config()"> |
| <h3>config</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-288">config</a></span></div> |
| <div class="block">Optional location of configuration file for this servlet. |
| |
| <p> |
| The configuration file . |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Config file is searched for in child-to-parent order. |
| </ul> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| Use the keyword <c>SYSTEM_DEFAULT</c> to refer to the system default configuration |
| returned by the <a href="../../config/Config.html#getSystemDefault()"><code>Config.getSystemDefault()</code></a>. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#config(org.apache.juneau.config.Config)"><code>RestContext.Builder.config(Config)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="consumes()"> |
| <h3>consumes</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-308">consumes</a></span></div> |
| <div class="block">Supported content media types. |
| |
| <p> |
| Overrides the media types inferred from the parsers that identify what media types can be consumed by the resource. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#consumes(org.apache.juneau.MediaType...)"><code>RestContext.Builder.consumes(MediaType...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="converters()"> |
| <h3>converters</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../converter/RestConverter.html" title="interface in org.apache.juneau.rest.converter">RestConverter</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-329">converters</a></span></div> |
| <div class="block">Class-level response converters. |
| |
| <p> |
| Associates one or more <a href="../converter/RestConverter.html" title="interface in org.apache.juneau.rest.converter"><code>converters</code></a> with a resource class. |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Converters on child are combined with those on parent class. |
| <li>Converters are executed child-to-parent in the order they appear in the annotation. |
| <li>Converters on methods are executed before those on classes. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestOpContext.Builder.html#converters()"><code>RestOpContext.Builder.converters()</code></a> - Registering converters with REST resources. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="debug()"> |
| <h3>debug</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-364">debug</a></span></div> |
| <div class="block">Enable debug mode. |
| |
| <p> |
| Enables the following: |
| <ul class='spaced-list'> |
| <li> |
| HTTP request/response bodies are cached in memory for logging purposes. |
| <li> |
| HTTP requests/responses are logged to the registered <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a>. |
| </ul> |
| |
| <ul class='values'> |
| <li><js>"true"</js> - Debug is enabled for all requests. |
| <li><js>"false"</js> - Debug is disabled for all requests. |
| <li><js>"conditional"</js> - Debug is enabled only for requests that have a <c class='snippet'>Debug: true</c> header. |
| </ul> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| These debug settings can be overridden by the <a href="#debugOn()"><code>debugOn()</code></a> annotation or at runtime by directly |
| calling <a href="../RestRequest.html#setDebug()"><code>RestRequest.setDebug()</code></a>. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#debugEnablement()"><code>RestContext.Builder.debugEnablement()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="debugEnablement()"> |
| <h3>debugEnablement</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-377">debugEnablement</a></span></div> |
| <div class="block">Debug enablement bean. |
| |
| TODO |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#debugEnablement()"><code>RestContext.Builder.debugEnablement()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.debug.DebugEnablement.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="debugOn()"> |
| <h3>debugOn</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-492">debugOn</a></span></div> |
| <div class="block">Enable debug mode on specified classes/methods. |
| |
| <p> |
| Enables the following: |
| <ul class='spaced-list'> |
| <li> |
| HTTP request/response bodies are cached in memory for logging purposes on matching classes and methods. |
| <li> |
| HTTP requests/responses are logged to the registered <a href="../logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a>. |
| </ul> |
| |
| <p> |
| Consists of a comma-delimited list of strings of the following forms: |
| <ul> |
| <li><js>"class-identifier"</js> - Enable debug on the specified class. |
| <li><js>"class-identifier=[true|false|conditional]"</js> - Explicitly enable debug on the specified class. |
| <li><js>"method-identifier"</js> - Enable debug on the specified class. |
| <li><js>"method-identifier=[true|false|conditional]"</js> - Explicitly enable debug on the specified class. |
| </ul> |
| |
| <p> |
| Class identifiers can be any of the following forms: |
| <ul> |
| <li>Fully qualified: |
| <ul> |
| <li><js>"com.foo.MyClass"</js> |
| </ul> |
| <li>Fully qualified inner class: |
| <ul> |
| <li><js>"com.foo.MyClass$Inner1$Inner2"</js> |
| </ul> |
| <li>Simple: |
| <ul> |
| <li><js>"MyClass"</js> |
| </ul> |
| <li>Simple inner: |
| <ul> |
| <li><js>"MyClass$Inner1$Inner2"</js> |
| <li><js>"Inner1$Inner2"</js> |
| <li><js>"Inner2"</js> |
| </ul> |
| </ul> |
| |
| <p> |
| Method identifiers can be any of the following forms: |
| <ul> |
| <li>Fully qualified with args: |
| <ul> |
| <li><js>"com.foo.MyClass.myMethod(String,int)"</js> |
| <li><js>"com.foo.MyClass.myMethod(java.lang.String,int)"</js> |
| <li><js>"com.foo.MyClass.myMethod()"</js> |
| </ul> |
| <li>Fully qualified: |
| <ul> |
| <li><js>"com.foo.MyClass.myMethod"</js> |
| </ul> |
| <li>Simple with args: |
| <ul> |
| <li><js>"MyClass.myMethod(String,int)"</js> |
| <li><js>"MyClass.myMethod(java.lang.String,int)"</js> |
| <li><js>"MyClass.myMethod()"</js> |
| </ul> |
| <li>Simple: |
| <ul> |
| <li><js>"MyClass.myMethod"</js> |
| </ul> |
| <li>Simple inner class: |
| <ul> |
| <li><js>"MyClass$Inner1$Inner2.myMethod"</js> |
| <li><js>"Inner1$Inner2.myMethod"</js> |
| <li><js>"Inner2.myMethod"</js> |
| </ul> |
| </ul> |
| |
| <h5 class='figure'>Example:</h5> |
| <p class='bjava'> |
| <jc>// Turn on debug per-request on the class and always on the doX() method</jc>. |
| <ja>@Rest</ja>( |
| debugOn=<js>"MyResource=conditional,MyResource.doX=true"</js> |
| ) |
| <jk>public class</jk> MyResource { |
| |
| <ja>@RestGet</ja> |
| <jk>public void</jk> String getX() { |
| ... |
| } |
| </p> |
| |
| <p> |
| A more-typical scenario is to pull this setting from an external source such as system property or environment |
| variable: |
| |
| <h5 class='figure'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| debugOn=<js>"$E{DEBUG_ON_SETTINGS}"</js> |
| ) |
| <jk>public class</jk> MyResource {...} |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| These debug settings override the settings define via <a href="#debug()"><code>debug()</code></a> and <a href="RestOp.html#debug()"><code>RestOp.debug()</code></a>. |
| <li class='note'> |
| These debug settings can be overridden at runtime by directly calling <a href="../RestRequest.html#setDebug()"><code>RestRequest.setDebug()</code></a>. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultAccept()"> |
| <h3>defaultAccept</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-511">defaultAccept</a></span></div> |
| <div class="block">Default <c>Accept</c> header. |
| |
| <p> |
| The default value for the <c>Accept</c> header if not specified on a request. |
| |
| <p> |
| This is a shortcut for using <a href="#defaultRequestHeaders()"><code>defaultRequestHeaders()</code></a> for just this specific header. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultCharset()"> |
| <h3>defaultCharset</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-537">defaultCharset</a></span></div> |
| <div class="block">Default character encoding. |
| |
| <p> |
| The default character encoding for the request and response if not specified on the request. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#defaultCharset(java.nio.charset.Charset)"><code>RestContext.Builder.defaultCharset(Charset)</code></a> |
| <li class='jm'><a href="../RestOpContext.Builder.html#defaultCharset(java.nio.charset.Charset)"><code>RestOpContext.Builder.defaultCharset(Charset)</code></a> |
| <li class='ja'><a href="RestOp.html#defaultCharset()"><code>RestOp.defaultCharset()</code></a> |
| <li class='ja'><a href="RestGet.html#defaultCharset()"><code>RestGet.defaultCharset()</code></a> |
| <li class='ja'><a href="RestPut.html#defaultCharset()"><code>RestPut.defaultCharset()</code></a> |
| <li class='ja'><a href="RestPost.html#defaultCharset()"><code>RestPost.defaultCharset()</code></a> |
| <li class='ja'><a href="RestDelete.html#defaultCharset()"><code>RestDelete.defaultCharset()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultContentType()"> |
| <h3>defaultContentType</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-556">defaultContentType</a></span></div> |
| <div class="block">Default <c>Content-Type</c> header. |
| |
| <p> |
| The default value for the <c>Content-Type</c> header if not specified on a request. |
| |
| <p> |
| This is a shortcut for using <a href="#defaultRequestHeaders()"><code>defaultRequestHeaders()</code></a> for just this specific header. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultRequestAttributes()"> |
| <h3>defaultRequestAttributes</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-600">defaultRequestAttributes</a></span></div> |
| <div class="block">Default request attributes. |
| |
| <p> |
| Specifies default values for request attributes if they're not already set on the request. |
| |
| <p> |
| Affects values returned by the following methods: |
| <ul> |
| <li class='jm'><a href="../RestRequest.html#getAttribute(java.lang.String)"><code>RestRequest.getAttribute(String)</code></a>. |
| <li class='jm'><a href="../RestRequest.html#getAttributes()"><code>RestRequest.getAttributes()</code></a>. |
| </ul> |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <jc>// Defined via annotation resolving to a config file setting with default value.</jc> |
| <ja>@Rest</ja>(defaultRequestAttributes={<js>"Foo=bar"</js>, <js>"Baz: $C{REST/myAttributeValue}"</js>}) |
| <jk>public class</jk> MyResource { |
| |
| <jc>// Override at the method level.</jc> |
| <ja>@RestGet</ja>(defaultRequestAttributes={<js>"Foo: bar"</js>}) |
| <jk>public</jk> Object myMethod() {...} |
| } |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#defaultRequestAttributes(org.apache.juneau.rest.httppart.NamedAttribute...)"><code>RestContext.Builder.defaultRequestAttributes(NamedAttribute...)</code></a> |
| <li class='ja'><a href="RestOp.html#defaultRequestAttributes()"><code>RestOp.defaultRequestAttributes()</code></a> |
| <li class='ja'><a href="RestGet.html#defaultRequestAttributes()"><code>RestGet.defaultRequestAttributes()</code></a> |
| <li class='ja'><a href="RestPut.html#defaultRequestAttributes()"><code>RestPut.defaultRequestAttributes()</code></a> |
| <li class='ja'><a href="RestPost.html#defaultRequestAttributes()"><code>RestPost.defaultRequestAttributes()</code></a> |
| <li class='ja'><a href="RestDelete.html#defaultRequestAttributes()"><code>RestDelete.defaultRequestAttributes()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultRequestHeaders()"> |
| <h3>defaultRequestHeaders</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-620">defaultRequestHeaders</a></span></div> |
| <div class="block">Default request headers. |
| |
| <p> |
| Specifies default values for request headers if they're not passed in through the request. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#defaultRequestHeaders(org.apache.http.Header...)"><code>RestContext.Builder.defaultRequestHeaders(org.apache.http.Header...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="defaultResponseHeaders()"> |
| <h3>defaultResponseHeaders</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-640">defaultResponseHeaders</a></span></div> |
| <div class="block">Default response headers. |
| |
| <p> |
| Specifies default values for response headers if they're not set after the Java REST method is called. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#defaultResponseHeaders(org.apache.http.Header...)"><code>RestContext.Builder.defaultResponseHeaders(org.apache.http.Header...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="description()"> |
| <h3>description</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-664">description</a></span></div> |
| <div class="block">Optional servlet description. |
| |
| <p> |
| It is used to populate the Swagger description field. |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Description is searched for in child-to-parent order. |
| </ul> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| The format is plain-text. |
| <br>Multiple lines are concatenated with newlines. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="encoders()"> |
| <h3>encoders</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-711">encoders</a></span></div> |
| <div class="block">Specifies the compression encoders for this resource. |
| |
| <p> |
| Encoders are used to enable various kinds of compression (e.g. <js>"gzip"</js>) on requests and responses. |
| |
| <p> |
| Encoders are automatically inherited from <a href="#encoders()"><code>encoders()</code></a> annotations on parent classes with the encoders on child classes |
| prepended to the encoder group. |
| The <a href="../../encoders/EncoderSet.NoInherit.html" title="class in org.apache.juneau.encoders"><code>EncoderSet.NoInherit</code></a> class can be used to prevent inheriting from the parent class. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <jc>// Define a REST resource that handles GZIP compression.</jc> |
| <ja>@Rest</ja>( |
| encoders={ |
| GzipEncoder.<jk>class</jk> |
| } |
| ) |
| <jk>public class</jk> MyResource { |
| ... |
| } |
| </p> |
| |
| <p> |
| The encoders can also be tailored at the method level using <a href="RestOp.html#encoders()"><code>RestOp.encoders()</code></a> (and related annotations). |
| |
| <p> |
| The programmatic equivalent to this annotation is: |
| <p class='bjava'> |
| RestContext.Builder <jv>builder</jv> = RestContext.<jsm>create</jsm>(<jv>resource</jv>); |
| <jv>builder</jv>.getEncoders().add(<jv>classes</jv>); |
| </p> |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Encoders on child are combined with those on parent class. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jrs.Encoders">Encoders</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="guards()"> |
| <h3>guards</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../guard/RestGuard.html" title="class in org.apache.juneau.rest.guard">RestGuard</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-732">guards</a></span></div> |
| <div class="block">Class-level guards. |
| |
| <p> |
| Associates one or more <a href="../guard/RestGuard.html" title="class in org.apache.juneau.rest.guard"><code>RestGuards</code></a> with all REST methods defined in this class. |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Guards on child are combined with those on parent class. |
| <li>Guards are executed child-to-parent in the order they appear in the annotation. |
| <li>Guards on methods are executed before those on classes. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestOpContext.Builder.html#guards()"><code>RestOpContext.Builder.guards()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="maxInput()"> |
| <h3>maxInput</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-757">maxInput</a></span></div> |
| <div class="block">The maximum allowed input size (in bytes) on HTTP requests. |
| |
| <p> |
| Useful for alleviating DoS attacks by throwing an exception when too much input is received instead of resulting |
| in out-of-memory errors which could affect system stability. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#maxInput(java.lang.String)"><code>RestContext.Builder.maxInput(String)</code></a> |
| <li class='jm'><a href="../RestOpContext.Builder.html#maxInput(java.lang.String)"><code>RestOpContext.Builder.maxInput(String)</code></a> |
| <li class='ja'><a href="RestOp.html#maxInput()"><code>RestOp.maxInput()</code></a> |
| <li class='ja'><a href="RestPost.html#maxInput()"><code>RestPost.maxInput()</code></a> |
| <li class='ja'><a href="RestPut.html#maxInput()"><code>RestPut.maxInput()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="messages()"> |
| <h3>messages</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-792">messages</a></span></div> |
| <div class="block">Messages. |
| |
| Identifies the location of the resource bundle for this class. |
| |
| <p> |
| There are two possible formats: |
| <ul> |
| <li>A simple string - Represents the <a href="../../cp/Messages.Builder.html#name(java.lang.String)"><code>name</code></a> of the resource bundle. |
| <br><br><i>Example:</i> |
| <p class='bjava'> |
| <jc>// Bundle name is Messages.properties.</jc> |
| <ja>@Rest</ja>(messages=<js>"Messages"</js>) |
| </p> |
| <li>Simplified JSON - Represents parameters for the <a href="../../cp/Messages.Builder.html" title="class in org.apache.juneau.cp"><code>Messages.Builder</code></a> class. |
| <br><br><i>Example:</i> |
| <p class='bjava'> |
| <jc>// Bundles can be found in two packages.</jc> |
| <ja>@Rest</ja>(messages=<js>"{name:'Messages',baseNames:['{package}.{name}','{package}.i18n.{name}']"</js>) |
| </p> |
| </ul> |
| |
| <p> |
| If the bundle name is not specified, the class name of the resource object is used. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="on()"> |
| <h3>on</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-803">on</a></span></div> |
| <div class="block">Dynamically apply this annotation to the specified classes. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jm.DynamicallyAppliedAnnotations">Dynamically Applied Annotations</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="onClass()"> |
| <h3>onClass</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-817">onClass</a></span></div> |
| <div class="block">Dynamically apply this annotation to the specified classes. |
| |
| <p> |
| Identical to <a href="#on()"><code>on()</code></a> except allows you to specify class objects instead of a strings. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jm.DynamicallyAppliedAnnotations">Dynamically Applied Annotations</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="parsers()"> |
| <h3>parsers</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><?>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-874">parsers</a></span></div> |
| <div class="block">Specifies the parsers for converting HTTP request bodies into POJOs. |
| |
| <p> |
| Parsers are used to convert the content of HTTP requests into POJOs. |
| <br>Any of the Juneau framework parsers can be used in this setting. |
| <br>The parser selected is based on the request <c>Content-Type</c> header matched against the values returned by the following method |
| using a best-match algorithm: |
| <ul class='javatree'> |
| <li class='jm'><a href="../../parser/Parser.html#getMediaTypes()"><code>Parser.getMediaTypes()</code></a> |
| </ul> |
| |
| <p> |
| Parsers are automatically inherited from <a href="#parsers()"><code>parsers()</code></a> annotations on parent classes with the parsers on child classes |
| prepended to the parser group. |
| The <a href="../../parser/ParserSet.NoInherit.html" title="class in org.apache.juneau.parser"><code>ParserSet.NoInherit</code></a> class can be used to prevent inheriting from the parent class. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <jc>// Define a REST resource that can consume JSON and XML.</jc> |
| <ja>@Rest</ja>( |
| parsers={ |
| JsonParser.<jk>class</jk>, |
| XmlParser.<jk>class</jk> |
| } |
| ) |
| <jk>public class</jk> MyResource { |
| ... |
| } |
| </p> |
| |
| <p> |
| The parsers can also be tailored at the method level using <a href="RestOp.html#parsers()"><code>RestOp.parsers()</code></a> (and related annotations). |
| |
| <p> |
| The programmatic equivalent to this annotation is: |
| <p class='bjava'> |
| RestContext.Builder <jv>builder</jv> = RestContext.<jsm>create</jsm>(<jv>resource</jv>); |
| <jv>builder</jv>.getParsers().add(<jv>classes</jv>); |
| </p> |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Parsers on child override those on parent class. |
| <li><a href="../../parser/ParserSet.Inherit.html" title="class in org.apache.juneau.parser"><code>ParserSet.Inherit</code></a> class can be used to inherit and augment values from parent. |
| <li><a href="../../parser/ParserSet.NoInherit.html" title="class in org.apache.juneau.parser"><code>ParserSet.NoInherit</code></a> class can be used to suppress inheriting from parent. |
| <li>Parsers on methods take precedence over those on classes. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jrs.Marshalling">Marshalling</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="partParser()"> |
| <h3>partParser</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-884">partParser</a></span></div> |
| <div class="block">HTTP part parser. |
| |
| <p> |
| Specifies the <a href="../../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart"><code>HttpPartParser</code></a> to use for parsing headers, query/form parameters, and URI parts.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.httppart.HttpPartParser.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="partSerializer()"> |
| <h3>partSerializer</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-894">partSerializer</a></span></div> |
| <div class="block">HTTP part serializer. |
| |
| <p> |
| Specifies the <a href="../../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart"><code>HttpPartSerializer</code></a> to use for serializing headers, query/form parameters, and URI parts.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.httppart.HttpPartSerializer.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="path()"> |
| <h3>path</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-993">path</a></span></div> |
| <div class="block">Resource path. |
| |
| <p> |
| Used in the following situations: |
| <ul class='spaced-list'> |
| <li> |
| On child resources (resource classes attached to parents via the <a href="#children()"><code>children()</code></a> annotation) to identify |
| the subpath used to access the child resource relative to the parent. |
| <li> |
| On top-level <a href="../servlet/RestServlet.html" title="class in org.apache.juneau.rest.servlet"><code>RestServlet</code></a> classes deployed as Spring beans when <c>JuneauRestInitializer</c> is being used. |
| </ul> |
| |
| <h5 class='topic'>On child resources</h5> |
| <p> |
| The typical usage is to define a path to a child resource relative to the parent resource. |
| |
| <h5 class='figure'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| children={ChildResource.<jk>class</jk>} |
| ) |
| <jk>public class</jk> TopLevelResource <jk>extends</jk> BasicRestServlet {...} |
| |
| <ja>@Rest</ja>( |
| path=<js>"/child"</js>, |
| children={GrandchildResource.<jk>class</jk>} |
| ) |
| <jk>public class</jk> ChildResource {...} |
| |
| <ja>@Rest</ja>( |
| path=<js>"/grandchild"</js> |
| ) |
| <jk>public class</jk> GrandchildResource { |
| <ja>@RestGet</ja>(<js>"/"</js>) |
| <jk>public</jk> String sayHello() { |
| <jk>return</jk> <js>"Hello!"</js>; |
| } |
| } |
| </p> |
| <p> |
| In the example above, assuming the <c>TopLevelResource</c> servlet is deployed to path <c>/myContext/myServlet</c>, |
| then the <c>sayHello</c> method is accessible through the URI <c>/myContext/myServlet/child/grandchild</c>. |
| |
| <p> |
| Note that in this scenario, the <c>path</c> attribute is not defined on the top-level resource. |
| Specifying the path on the top-level resource has no effect, but can be used for readability purposes. |
| |
| <h5 class='topic'>Path variables</h5> |
| <p> |
| The path can contain variables that get resolved to <a href="../../http/annotation/Path.html" title="annotation in org.apache.juneau.http.annotation"><code>@Path</code></a> parameters |
| or access through the <a href="../RestRequest.html#getPathParams()"><code>RestRequest.getPathParams()</code></a> method. |
| |
| <h5 class='figure'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| path=<js>"/myResource/{foo}/{bar}"</js> |
| ) |
| <jk>public class</jk> MyResource <jk>extends</jk> BasicRestServlet { |
| |
| <ja>@RestGet</ja>(<js>"/{baz}"</js>) |
| <jk>public void</jk> String doX(<ja>@Path</ja> String <jv>foo</jv>, <ja>@Path</ja> <jk>int</jk> <jv>bar</jv>, <ja>@Path</ja> MyPojo <jv>baz</jv>) { |
| ... |
| } |
| } |
| </p> |
| |
| <p> |
| Variables can be used on either top-level or child resources and can be defined on multiple levels. |
| |
| <p> |
| All variables in the path must be specified or else the target will not resolve and a <c>404</c> will result. |
| |
| <p> |
| When variables are used on a path of a top-level resource deployed as a Spring bean in a Spring Boot application, |
| the first part of the URL must be a literal which will be used as the servlet path of the registered servlet. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| The leading slash is optional. <js>"/myResource"</js> and <js>"myResource"</js> is equivalent. |
| <li class='note'> |
| The paths <js>"/myResource"</js> and <js>"/myResource/*"</js> are equivalent. |
| <li class='note'> |
| Paths must not end with <js>"/"</js> (per the servlet spec). |
| </ul> |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Path is searched for in child-to-parent order. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#path(java.lang.String)"><code>RestContext.Builder.path(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="produces()"> |
| <h3>produces</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1013">produces</a></span></div> |
| <div class="block">Supported accept media types. |
| |
| <p> |
| Overrides the media types inferred from the serializers that identify what media types can be produced by the resource. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#produces(org.apache.juneau.MediaType...)"><code>RestContext.Builder.produces(MediaType...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="renderResponseStackTraces()"> |
| <h3>renderResponseStackTraces</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1029">renderResponseStackTraces</a></span></div> |
| <div class="block">Render response stack traces in responses. |
| |
| <p> |
| Render stack traces in HTTP response bodies when errors occur. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="responseProcessors()"> |
| <h3>responseProcessors</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1044">responseProcessors</a></span></div> |
| <div class="block">Response processors. |
| |
| <p> |
| Specifies a list of <a href="../processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor"><code>ResponseProcessor</code></a> classes that know how to convert POJOs returned by REST methods or |
| set via <a href="../RestResponse.html#setContent(java.lang.Object)"><code>RestResponse.setContent(Object)</code></a> into appropriate HTTP responses. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#responseProcessors()"><code>RestContext.Builder.responseProcessors()</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="restChildrenClass()"> |
| <h3>restChildrenClass</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../RestChildren.html" title="class in org.apache.juneau.rest">RestChildren</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1058">restChildrenClass</a></span></div> |
| <div class="block">REST children class. |
| |
| <p> |
| Allows you to extend the <a href="../RestChildren.html" title="class in org.apache.juneau.rest"><code>RestChildren</code></a> class to modify how any of the methods are implemented. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#restChildrenClass(java.lang.Class)"><code>RestContext.Builder.restChildrenClass(Class)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.RestChildren.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="restOperationsClass()"> |
| <h3>restOperationsClass</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../RestOperations.html" title="class in org.apache.juneau.rest">RestOperations</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1072">restOperationsClass</a></span></div> |
| <div class="block">REST methods class. |
| |
| <p> |
| Allows you to extend the <a href="../RestOperations.html" title="class in org.apache.juneau.rest"><code>RestOperations</code></a> class to modify how any of the methods are implemented. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#restOperationsClass(java.lang.Class)"><code>RestContext.Builder.restOperationsClass(Class)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.RestOperations.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="restOpArgs()"> |
| <h3>restOpArgs</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../arg/RestOpArg.html" title="interface in org.apache.juneau.rest.arg">RestOpArg</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1088">restOpArgs</a></span></div> |
| <div class="block">Java REST operation method parameter resolvers. |
| |
| <p> |
| By default, the Juneau framework will automatically Java method parameters of various types (e.g. |
| <c>RestRequest</c>, <c>Accept</c>, <c>Reader</c>). |
| <br>This setting allows you to provide your own resolvers for your own class types that you want resolved. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#restOpArgs(java.lang.Class...)"><code>RestContext.Builder.restOpArgs(Class...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="roleGuard()"> |
| <h3>roleGuard</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1142">roleGuard</a></span></div> |
| <div class="block">Role guard. |
| |
| <p> |
| An expression defining if a user with the specified roles are allowed to access methods on this class. |
| |
| <p> |
| This is a shortcut for specifying <a href="RestOp.html#roleGuard()"><code>RestOp.roleGuard()</code></a> on all the REST operations on a class. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| path=<js>"/foo"</js>, |
| roleGuard=<js>"ROLE_ADMIN || (ROLE_READ_WRITE && ROLE_SPECIAL)"</js> |
| ) |
| <jk>public class</jk> MyResource <jk>extends</jk> BasicRestServlet { |
| ... |
| } |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports any of the following expression constructs: |
| <ul> |
| <li><js>"foo"</js> - Single arguments. |
| <li><js>"foo,bar,baz"</js> - Multiple OR'ed arguments. |
| <li><js>"foo | bar | baz"</js> - Multiple OR'ed arguments, pipe syntax. |
| <li><js>"foo || bar || baz"</js> - Multiple OR'ed arguments, Java-OR syntax. |
| <li><js>"fo*"</js> - Patterns including <js>'*'</js> and <js>'?'</js>. |
| <li><js>"fo* & *oo"</js> - Multiple AND'ed arguments, ampersand syntax. |
| <li><js>"fo* && *oo"</js> - Multiple AND'ed arguments, Java-AND syntax. |
| <li><js>"fo* || (*oo || bar)"</js> - Parenthesis. |
| </ul> |
| <li> |
| AND operations take precedence over OR operations (as expected). |
| <li> |
| Whitespace is ignored. |
| <li> |
| <jk>null</jk> or empty expressions always match as <jk>false</jk>. |
| <li> |
| If patterns are used, you must specify the list of declared roles using <a href="#rolesDeclared()"><code>rolesDeclared()</code></a> or <a href="../RestOpContext.Builder.html#rolesDeclared(java.lang.String...)"><code>RestOpContext.Builder.rolesDeclared(String...)</code></a>. |
| <li> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestOpContext.Builder.html#roleGuard(java.lang.String)"><code>RestOpContext.Builder.roleGuard(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="rolesDeclared()"> |
| <h3>rolesDeclared</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1173">rolesDeclared</a></span></div> |
| <div class="block">Declared roles. |
| |
| <p> |
| A comma-delimited list of all possible user roles. |
| |
| <p> |
| Used in conjunction with <a href="#roleGuard()"><code>roleGuard()</code></a> is used with patterns. |
| |
| <p> |
| This is a shortcut for specifying <a href="RestOp.html#rolesDeclared()"><code>RestOp.rolesDeclared()</code></a> on all the REST operations on a class. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| rolesDeclared=<js>"ROLE_ADMIN,ROLE_READ_WRITE,ROLE_READ_ONLY,ROLE_SPECIAL"</js>, |
| roleGuard=<js>"ROLE_ADMIN || (ROLE_READ_WRITE && ROLE_SPECIAL)"</js> |
| ) |
| <jk>public class</jk> MyResource <jk>extends</jk> BasicRestServlet { |
| ... |
| } |
| </p> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestOpContext.Builder.html#rolesDeclared(java.lang.String...)"><code>RestOpContext.Builder.rolesDeclared(String...)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="serializers()"> |
| <h3>serializers</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1230">serializers</a></span></div> |
| <div class="block">Specifies the serializers for POJOs into HTTP response bodies. |
| |
| <p> |
| Serializer are used to convert POJOs to HTTP response bodies. |
| <br>Any of the Juneau framework serializers can be used in this setting. |
| <br>The serializer selected is based on the request <c>Accept</c> header matched against the values returned by the following method |
| using a best-match algorithm: |
| <ul class='javatree'> |
| <li class='jm'><a href="../../serializer/Serializer.html#getMediaTypeRanges()"><code>Serializer.getMediaTypeRanges()</code></a> |
| </ul> |
| |
| <p> |
| Serializers are automatically inherited from <a href="#serializers()"><code>serializers()</code></a> annotations on parent classes with the serializers on child classes |
| prepended to the serializer group. |
| The <a href="../../serializer/SerializerSet.NoInherit.html" title="class in org.apache.juneau.serializer"><code>SerializerSet.NoInherit</code></a> class can be used to prevent inheriting from the parent class. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <jc>// Define a REST resource that can produce JSON and XML.</jc> |
| <ja>@Rest</ja>( |
| serializers={ |
| JsonParser.<jk>class</jk>, |
| XmlParser.<jk>class</jk> |
| } |
| ) |
| <jk>public class</jk> MyResource { |
| ... |
| } |
| </p> |
| |
| <p> |
| The serializers can also be tailored at the method level using <a href="RestOp.html#serializers()"><code>RestOp.serializers()</code></a> (and related annotations). |
| |
| <p> |
| The programmatic equivalent to this annotation is: |
| <p class='bjava'> |
| RestContext.Builder <jv>builder</jv> = RestContext.<jsm>create</jsm>(<jv>resource</jv>); |
| <jv>builder</jv>.getSerializers().add(<jv>classes</jv>); |
| </p> |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Serializers on child override those on parent class. |
| <li><a href="../../serializer/SerializerSet.Inherit.html" title="class in org.apache.juneau.serializer"><code>SerializerSet.Inherit</code></a> class can be used to inherit and augment values from parent. |
| <li><a href="../../serializer/SerializerSet.NoInherit.html" title="class in org.apache.juneau.serializer"><code>SerializerSet.NoInherit</code></a> class can be used to suppress inheriting from parent. |
| <li>Serializers on methods take precedence over those on classes. |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='link'><a class="doclink" href="../../../../../index.html#jrs.Marshalling">Marshalling</a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="siteName()"> |
| <h3>siteName</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1258">siteName</a></span></div> |
| <div class="block">Optional site name. |
| |
| <p> |
| The site name is intended to be a title that can be applied to the entire site. |
| |
| <p> |
| One possible use is if you want to add the same title to the top of all pages by defining a header on a |
| common parent class like so: |
| <p class='bjava'> |
| <ja>@HtmlDocConfig</ja>( |
| header={ |
| <js>"<h1>$RS{siteName}</h1>"</js>, |
| <js>"<h2>$RS{title}</h2>"</js> |
| } |
| ) |
| </p> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="staticFiles()"> |
| <h3>staticFiles</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1286">staticFiles</a></span></div> |
| <div class="block">Static files. |
| |
| <p> |
| Used to retrieve localized files to be served up as static files through the REST API via the following |
| predefined methods: |
| <ul class='javatree'> |
| <li class='jm'><a href="../servlet/BasicRestObject.html#getHtdoc(java.lang.String,java.util.Locale)"><code>BasicRestObject.getHtdoc(String, Locale)</code></a>. |
| <li class='jm'><a href="../servlet/BasicRestServlet.html#getHtdoc(java.lang.String,java.util.Locale)"><code>BasicRestServlet.getHtdoc(String, Locale)</code></a>. |
| </ul> |
| |
| <p> |
| The static file finder can be accessed through the following methods: |
| <ul class='javatree'> |
| <li class='jm'><a href="../RestContext.html#getStaticFiles()"><code>RestContext.getStaticFiles()</code></a> |
| <li class='jm'><a href="../RestRequest.html#getStaticFiles()"><code>RestRequest.getStaticFiles()</code></a> |
| </ul> |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Static files on child are combined with those on parent class. |
| <li>Static files are are executed child-to-parent in the order they appear in the annotation. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.staticfile.StaticFiles.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swagger()"> |
| <h3>swagger</h3> |
| <div class="member-signature"><span class="return-type"><a href="Swagger.html" title="annotation in org.apache.juneau.rest.annotation">Swagger</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1317">swagger</a></span></div> |
| <div class="block">Provides swagger-specific metadata on this resource. |
| |
| <p> |
| Used to populate the auto-generated OPTIONS swagger documentation. |
| |
| <h5 class='section'>Example:</h5> |
| <p class='bjava'> |
| <ja>@Rest</ja>( |
| path=<js>"/addressBook"</js>, |
| |
| <jc>// Swagger info.</jc> |
| swagger=@Swagger({ |
| <js>"contact:{name:'John Smith',email:'john@smith.com'},"</js>, |
| <js>"license:{name:'Apache 2.0',url:'http://www.apache.org/licenses/LICENSE-2.0.html'},"</js>, |
| <js>"version:'2.0',</js>, |
| <js>"termsOfService:'You are on your own.',"</js>, |
| <js>"tags:[{name:'Java',description:'Java utility',externalDocs:{description:'Home page',url:'http://juneau.apache.org'}}],"</js>, |
| <js>"externalDocs:{description:'Home page',url:'http://juneau.apache.org'}"</js> |
| }) |
| ) |
| </p> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='ja'><a href="Swagger.html" title="annotation in org.apache.juneau.rest.annotation"><code>Swagger</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>@org.apache.juneau.rest.annotation.Swagger</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swaggerProvider()"> |
| <h3>swaggerProvider</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends <a href="../swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1328">swaggerProvider</a></span></div> |
| <div class="block">Swagger provider. |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#swaggerProvider(java.lang.Class)"><code>RestContext.Builder.swaggerProvider(Class)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>org.apache.juneau.rest.swagger.SwaggerProvider.Void.class</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="title()"> |
| <h3>title</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1351">title</a></span></div> |
| <div class="block">Optional servlet title. |
| |
| <p> |
| It is used to populate the Swagger title field. |
| |
| <h5 class='section'>Inheritance Rules</h5> |
| <ul> |
| <li>Label is searched for in child-to-parent order. |
| </ul> |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| <li class='note'> |
| Corresponds to the swagger field <c>/info/title</c>. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>{}</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="uriAuthority()"> |
| <h3>uriAuthority</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1371">uriAuthority</a></span></div> |
| <div class="block">Resource authority path. |
| |
| <p> |
| Overrides the authority path value for this resource and any child resources. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#uriAuthority(java.lang.String)"><code>RestContext.Builder.uriAuthority(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="uriContext()"> |
| <h3>uriContext</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1391">uriContext</a></span></div> |
| <div class="block">Resource context path. |
| |
| <p> |
| Overrides the context path value for this resource and any child resources. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#uriContext(java.lang.String)"><code>RestContext.Builder.uriContext(String)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="uriRelativity()"> |
| <h3>uriRelativity</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1414">uriRelativity</a></span></div> |
| <div class="block">URI-resolution relativity. |
| |
| <p> |
| Specifies how relative URIs should be interpreted by serializers. |
| |
| <p> |
| See <a href="../../UriResolution.html" title="enum in org.apache.juneau"><code>UriResolution</code></a> for possible values. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#uriRelativity(org.apache.juneau.UriRelativity)"><code>RestContext.Builder.uriRelativity(UriRelativity)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="uriResolution()"> |
| <h3>uriResolution</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/juneau/rest/annotation/Rest.html#line-1437">uriResolution</a></span></div> |
| <div class="block">URI-resolution. |
| |
| <p> |
| Specifies how relative URIs should be interpreted by serializers. |
| |
| <p> |
| See <a href="../../UriResolution.html" title="enum in org.apache.juneau"><code>UriResolution</code></a> for possible values. |
| |
| <h5 class='section'>Notes:</h5><ul> |
| <li class='note'> |
| Supports <a class="doclink" href="../../../../../index.html#jrs.SvlVariables">SVL Variables</a> |
| (e.g. <js>"$L{my.localized.variable}"</js>). |
| </ul> |
| |
| <h5 class='section'>See Also:</h5><ul> |
| <li class='jm'><a href="../RestContext.Builder.html#uriResolution(org.apache.juneau.UriResolution)"><code>RestContext.Builder.uriResolution(UriResolution)</code></a> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>The annotation value.</dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Default:</dt> |
| <dd>""</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2016–2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |