You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2019/11/23 23:56:14 UTC

[juneau] branch master updated: New simplified @Rest annotation

This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 1ccf563  New simplified @Rest annotation
1ccf563 is described below

commit 1ccf56388610f4668ae1dc0b9873f1ea9f175231
Author: JamesBognar <ja...@apache.org>
AuthorDate: Sat Nov 23 18:55:56 2019 -0500

    New simplified @Rest annotation
---
 juneau-doc/docs/ReleaseNotes/8.1.2.html            |   4 +-
 .../docs/Topics/11.juneau-microservice-core.html   |   4 +-
 .../docs/Topics/12.juneau-microservice-jetty.html  |   4 +-
 .../docs/Topics/13.my-jetty-microservice.html      |   4 +-
 .../docs/Topics/17.juneau-examples-rest-jetty.html |   4 +-
 juneau-doc/src/main/javadoc/overview.html          |  56 ++---
 juneau-doc/src/main/javadoc/resources/docs.txt     |   2 +-
 .../src/main/javadoc/resources/fragments/toc.html  |  10 +-
 .../juneau/examples/rest/HelloWorldResource.java   |   2 +-
 .../juneau/examples/rest/RequestEchoResource.java  |   2 +-
 .../apache/juneau/examples/rest/RootResources.java |   2 +-
 .../juneau/examples/rest/dto/AtomFeedResource.java |   2 +-
 .../juneau/examples/rest/dto/DtoExamples.java      |   2 +-
 .../examples/rest/dto/JsonSchemaResource.java      |   2 +-
 .../microservice/resources/ConfigResource.java     |   2 +-
 .../microservice/resources/DirectoryResource.java  |   2 +-
 .../microservice/resources/LogsResource.java       |   2 +-
 .../microservice/resources/SampleRootResource.java |   2 +-
 .../microservice/resources/ShutdownResource.java   |   2 +-
 .../apache/juneau/rest/test/ConfigResource.java    |   2 +-
 .../juneau/rest/test/LargePojosResource.java       |   2 +-
 .../org/apache/juneau/rest/test/MockRestTest.java  |   2 +-
 .../java/org/apache/juneau/rest/test/Root.java     |   2 +-
 .../rest/test/client/CallbackStringsTest.java      |   2 +-
 .../juneau/rest/test/client/ClientFuturesTest.java |   2 +-
 .../rest/test/client/InterfaceProxyTest.java       |   2 +-
 .../rest/test/client/RequestBeanProxyTest.java     |   8 +-
 .../rest/test/client/RestClientResource.java       |   2 +-
 .../rest/test/client/ThirdPartyProxyResource.java  |   2 +-
 .../jetty/JettyMicroserviceBuilder.java            |   2 +-
 .../jetty/resources/DebugResource.java             |   2 +-
 .../jetty/template/HelloWorldResource.java         |   5 +-
 .../microservice/jetty/template/RootResources.java |   4 +-
 .../springboot/template/HelloWorldResource.java    |   5 +-
 .../springboot/template/RootResources.java         |   4 +-
 .../juneau/rest/client/BodyAnnotationTest.java     |   6 +-
 .../juneau/rest/client/EndToEndInterfaceTest.java  |  16 +-
 .../juneau/rest/client/FormDataAnnotationTest.java |  20 +-
 .../juneau/rest/client/HeaderAnnotationTest.java   |  20 +-
 .../juneau/rest/client/PathAnnotationTest.java     |  16 +-
 .../juneau/rest/client/QueryAnnotationTest.java    |  20 +-
 .../rest/client/RemoteMethodAnnotationTest.java    |   8 +-
 .../rest/client/RemoteResourceAnnotationTest.java  |   4 +-
 .../juneau/rest/client/RequestAnnotationTest.java  |  10 +-
 .../juneau/rest/client/ResponseAnnotationTest.java |   2 +-
 .../juneau/rest/mock2/MockRemoteResource.java      |  14 +-
 .../org/apache/juneau/rest/mock2/MockRest.java     |   8 +-
 .../apache/juneau/rest/mock2/MockRestClient.java   |  16 +-
 .../java/org/apache/juneau/rest/BasicRestJena.java |   2 +-
 .../org/apache/juneau/rest/BasicRestJenaGroup.java |   2 +-
 .../apache/juneau/rest/BasicRestServletJena.java   |   2 +-
 .../juneau/rest/BasicRestServletJenaGroup.java     |   2 +-
 .../springboot/SpringRestResourceResolver.java     |   2 +-
 .../juneau/rest/BasicRestInfoProviderTest.java     | 252 ++++++++++-----------
 .../juneau/rest/BeanContextPropertiesTest.java     |   2 +-
 .../test/java/org/apache/juneau/rest/NlsTest.java  |   6 +-
 .../java/org/apache/juneau/rest/PathsTest.java     |  10 +-
 .../org/apache/juneau/rest/RestParamsTest.java     |   2 +-
 .../org/apache/juneau/rest/StatusCodesTest.java    |   8 +-
 .../apache/juneau/rest/ThreadLocalObjectsTest.java |   4 +-
 .../juneau/rest/annotation/HtmlDocAsideTest.java   |   4 +-
 .../rest/annotation/HtmlDocConfigAsideTest.java    |   4 +-
 .../rest/annotation/HtmlDocConfigFooterTest.java   |   4 +-
 .../rest/annotation/HtmlDocConfigHeaderTest.java   |   4 +-
 .../rest/annotation/HtmlDocConfigNavTest.java      |   4 +-
 .../rest/annotation/HtmlDocConfigNavlinksTest.java |   4 +-
 .../rest/annotation/HtmlDocConfigScriptTest.java   |   4 +-
 .../rest/annotation/HtmlDocConfigStyleTest.java    |   4 +-
 .../juneau/rest/annotation/HtmlDocFooterTest.java  |   4 +-
 .../juneau/rest/annotation/HtmlDocHeaderTest.java  |   4 +-
 .../juneau/rest/annotation/HtmlDocNavTest.java     |   4 +-
 .../rest/annotation/HtmlDocNavlinksTest.java       |   4 +-
 .../juneau/rest/annotation/HtmlDocScriptTest.java  |   4 +-
 .../juneau/rest/annotation/HtmlDocStyleTest.java   |   4 +-
 .../annotation/ResponseHeaderAnnotationTest.java   |   6 +-
 .../annotation/ResponseStatusAnnotationTest.java   |   2 +-
 .../rest/annotation/RestMethodGuardsTest.java      |   2 +-
 .../rest/annotation/RestMethodMatchersTest.java    |   2 +-
 .../juneau/rest/annotation/RestMethodPathTest.java |   2 +-
 .../rest/annotation/RestResourceLoggingTest.java   |  34 +--
 .../rest/annotation/RestResourceMessagesTest.java  |   4 +-
 .../rest/annotation/RestResourcePathTest.java      |   8 +-
 .../annotation/RestResourcePropertiesTest.java     |   4 +-
 .../annotation/RestResourceSerializersTest.java    |   2 +-
 .../annotation/RestResourceStaticFilesTest.java    |  14 +-
 .../juneau/rest/annotation/RestResourceTest.java   |  66 +++---
 .../annotation2/AnnotationInheritanceTest.java     |   2 +-
 .../rest/annotation2/BodyAnnotationTest.java       |  30 +--
 .../rest/annotation2/FormDataAnnotationTest.java   |  20 +-
 .../annotation2/HasFormDataAnnotationTest.java     |   2 +-
 .../rest/annotation2/HasQueryAnnotationTest.java   |   2 +-
 .../rest/annotation2/HeaderAnnotationTest.java     |  14 +-
 .../rest/annotation2/PathAnnotationTest.java       |  32 +--
 .../annotation2/PathRemainderAnnotationTest.java   |   4 +-
 .../rest/annotation2/QueryAnnotationTest.java      |  22 +-
 .../rest/annotation2/ResponseAnnotationTest.java   |  26 +--
 .../juneau/rest/annotation2/RestHookTest.java      |  34 +--
 .../rest/annotation2/RestMethodInheritTest.java    |  24 +-
 .../rest/annotation2/RestResourceParsersTest.java  |   2 +-
 .../annotation2/RestResourcePojoSwapsTest.java     |   6 +-
 .../juneau/rest/annotation2/RoleGuardTest.java     | 152 ++++++-------
 .../apache/juneau/rest/exceptions/BasicTest.java   |  14 +-
 .../juneau/rest/headers/AcceptCharsetTest.java     |   4 +-
 .../juneau/rest/headers/AcceptEncodingTest.java    |   6 +-
 .../org/apache/juneau/rest/headers/AcceptTest.java |  12 +-
 .../juneau/rest/headers/ClientVersionTest.java     |   6 +-
 .../juneau/rest/headers/ContentEncodingTest.java   |   4 +-
 .../juneau/rest/headers/ContentTypeTest.java       |  10 +-
 .../apache/juneau/rest/headers/HeadersTest.java    |  18 +-
 .../juneau/rest/helper/ReaderResourceTest.java     |   2 +-
 .../juneau/rest/helper/StreamResourceTest.java     |   2 +-
 .../apache/juneau/rest/responses/BasicTest.java    |   8 +-
 .../java/org/apache/juneau/rest/BasicRest.java     |   2 +-
 .../org/apache/juneau/rest/BasicRestConfig.java    |   2 +-
 .../org/apache/juneau/rest/BasicRestGroup.java     |   2 +-
 .../apache/juneau/rest/BasicRestInfoProvider.java  |  31 ++-
 .../org/apache/juneau/rest/BasicRestServlet.java   |   8 +-
 .../apache/juneau/rest/BasicRestServletGroup.java  |   4 +-
 .../org/apache/juneau/rest/ResponseHandler.java    |   2 +-
 .../java/org/apache/juneau/rest/RestContext.java   | 114 +++++-----
 .../org/apache/juneau/rest/RestContextBuilder.java |  22 +-
 .../apache/juneau/rest/RestContextProperties.java  |   2 +-
 .../java/org/apache/juneau/rest/RestConverter.java |   4 +-
 .../java/org/apache/juneau/rest/RestException.java |   2 +-
 .../java/org/apache/juneau/rest/RestGuard.java     |   2 +-
 .../org/apache/juneau/rest/RestMethodContext.java  |   2 +-
 .../java/org/apache/juneau/rest/RestRequest.java   |   4 +-
 .../apache/juneau/rest/RestResourceResolver.java   |   6 +-
 .../java/org/apache/juneau/rest/RestResponse.java  |   2 +-
 .../java/org/apache/juneau/rest/RestServlet.java   |   6 +-
 .../org/apache/juneau/rest/StaticFileMapping.java  |   2 +-
 .../org/apache/juneau/rest/SwaggerGenerator.java   |  57 +++++
 .../org/apache/juneau/rest/annotation/HtmlDoc.java |   2 +-
 .../org/apache/juneau/rest/annotation/Logging.java |   2 +-
 .../apache/juneau/rest/annotation/LoggingRule.java |   2 +-
 .../apache/juneau/rest/annotation/Property.java    |   2 +-
 .../juneau/rest/annotation/ResourceSwagger.java    |   6 +-
 .../annotation/{RestResource.java => Rest.java}    |   8 +-
 ...sourceConfigApply.java => RestConfigApply.java} |  10 +-
 .../apache/juneau/rest/annotation/RestMethod.java  |   4 +-
 .../juneau/rest/annotation/RestResource.java       |   3 +
 .../rest/annotation/RestResourceConfigApply.java   |   2 +-
 .../server/config/rest/LoadConfigResource.java     |   5 +-
 143 files changed, 839 insertions(+), 755 deletions(-)

diff --git a/juneau-doc/docs/ReleaseNotes/8.1.2.html b/juneau-doc/docs/ReleaseNotes/8.1.2.html
index b66c0e5..28bc251 100644
--- a/juneau-doc/docs/ReleaseNotes/8.1.2.html
+++ b/juneau-doc/docs/ReleaseNotes/8.1.2.html
@@ -16,7 +16,7 @@
 8.1.2 (TBD)
 
 <p>
-	Juneau 8.1.2 is a minor release with mostly bug fixes.  Improvements around specifying bean properties have also been made.
+	Juneau 8.1.2 is a moderate release.
 </p>
 
 <h5 class='topic w800'>juneau-marshall</h5>
@@ -52,6 +52,8 @@
 <h5 class='topic w800'>juneau-rest-server</h5>
 <ul class='spaced-list'>
 	<li>
+		{@link oajr.annotation.Rest @Rest} replaces {@link oajr.annotation.RestResource @RestResource} with shorter syntax.
+	<li>
 		New method {@link oajr.RestResponse#setHeaderSafe(String,String)} to strip invalid characters from header values.
 	<li>
 		Fixed issues related to invalid characters being set on HTTP header values.
diff --git a/juneau-doc/docs/Topics/11.juneau-microservice-core.html b/juneau-doc/docs/Topics/11.juneau-microservice-core.html
index 971ccc4..0fca4dd 100644
--- a/juneau-doc/docs/Topics/11.juneau-microservice-core.html
+++ b/juneau-doc/docs/Topics/11.juneau-microservice-core.html
@@ -13,11 +13,11 @@
  ***************************************************************************************************************************/
  -->
 
-juneau-microservice-core
+{updated} juneau-microservice-core
 
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Maven Dependency</h5>
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-jetty.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty.html
index b9fe542..b01cbca 100644
--- a/juneau-doc/docs/Topics/12.juneau-microservice-jetty.html
+++ b/juneau-doc/docs/Topics/12.juneau-microservice-jetty.html
@@ -13,11 +13,11 @@
  ***************************************************************************************************************************/
  -->
 
-juneau-microservice-jetty
+{updated} juneau-microservice-jetty
 
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Maven Dependency</h5>
diff --git a/juneau-doc/docs/Topics/13.my-jetty-microservice.html b/juneau-doc/docs/Topics/13.my-jetty-microservice.html
index ba4bac1..7baf0e5 100644
--- a/juneau-doc/docs/Topics/13.my-jetty-microservice.html
+++ b/juneau-doc/docs/Topics/13.my-jetty-microservice.html
@@ -13,11 +13,11 @@
  ***************************************************************************************************************************/
  -->
 
-my-jetty-microservice
+{updated} my-jetty-microservice
 
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Starter Project Zip</h5>
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html
index a6eacc0..1c36ae3 100644
--- a/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html
+++ b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html
@@ -13,11 +13,11 @@
  ***************************************************************************************************************************/
  -->
 
-juneau-examples-rest-jetty
+{updated} juneau-examples-rest-jetty
 
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Starter Project Zip</h5>
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 1f89a53..c484bbd 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -197,7 +197,7 @@
 			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.SurrogateClasses'>Surrogate Classes</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.BeanAnnotation'>@Bean Annotation</a></p>
 			<li><p class='updated'><a class='doclink' href='#juneau-marshall.Transforms.BeanpAnnotation'>@Beanp Annotation</a></p>
-			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.BeanConstructorAnnotation'>@BeanConstructor Annotation</a></p>
+			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.BeanConstructorAnnotation'>@BeancAnnotation</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.BeanIgnoreAnnotation'>@BeanIgnore Annotation</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.NamePropertyAnnotation'>@NameProperty Annotation</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-marshall.Transforms.ParentPropertyAnnotation'>@ParentProperty Annotation</a></p>
@@ -499,7 +499,7 @@
 		<li><p class=''><a class='doclink' href='#juneau-rest-mock.MockRest'>MockRest</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-rest-mock.MockRemoteResource'>MockRemoteResource</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a></p>
+	<li><p class='updated'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-core.Overview'>Microservice Overview</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-core.LifecycleMethods'>Lifecycle Methods</a></p>
@@ -512,7 +512,7 @@
 		<li><p class=''><a class='doclink' href='#juneau-microservice-core.Logging'>Logging</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-core.Listeners'>Listeners</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
+	<li><p class='updated'><a class='doclink' href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-jetty.Overview'>Overview</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-jetty.LifecycleMethods'>Lifecycle Methods</a></p>
@@ -523,7 +523,7 @@
 		<li><p class=''><a class='doclink' href='#juneau-microservice-jetty.UiCustomization'>UI Customization</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-microservice-jetty.Extending'>Extending JettyMicroservice</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#my-jetty-microservice'>my-jetty-microservice</a></p>
+	<li><p class='updated'><a class='doclink' href='#my-jetty-microservice'>my-jetty-microservice</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='#my-jetty-microservice.Installing'>Installing in Eclipse</a></p>
 		<li><p class=''><a class='doclink' href='#my-jetty-microservice.Running'>Running in Eclipse</a></p>
@@ -548,7 +548,7 @@
 		<li><p class=''><a class='doclink' href='#juneau-examples-rest.ConfigResource'>ConfigResource</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-examples-rest.LogsResource'>LogsResource</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></p>
+	<li><p class='updated'><a class='doclink' href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='#juneau-examples-rest-jetty.Installing'>Installing in Eclipse</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-examples-rest-jetty.Running'>Running in Eclipse</a></p>
@@ -2040,15 +2040,15 @@
 		{@link org.apache.juneau.annotation.Bean} 
 		- Used to tailor how beans get interpreted by the framework.
 	<li class='ja'>
-		{@link org.apache.juneau.annotation.BeanConstructor} 
+		{@link org.apache.juneau.annotation.Beanc} 
 		- Maps constructor arguments to property names on beans with read-only properties.
 	<li class='ja'>
+		{@link org.apache.juneau.annotation.Beanp} 
+		- Used to tailor how bean properties get interpreted by the framework.
+	<li class='ja'>
 		{@link org.apache.juneau.annotation.BeanIgnore} 
 		- Ignore classes, fields, and methods from being interpreted as bean or bean components.
 	<li class='ja'>
-		{@link org.apache.juneau.annotation.BeanProperty} 
-		- Used to tailor how bean properties get interpreted by the framework.
-	<li class='ja'>
 		{@link org.apache.juneau.annotation.NameProperty} 
 		- Identifies a setter as a method for setting the name of a POJO as it's known by its parent object.
 	<li class='ja'>
@@ -3115,10 +3115,10 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.Transforms.BeanConstructorAnnotation' id='juneau-marshall.Transforms.BeanConstructorAnnotation'>2.11.11 - @BeanConstructor Annotation</a></h4>
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.Transforms.BeanConstructorAnnotation' id='juneau-marshall.Transforms.BeanConstructorAnnotation'>2.11.11 - @BeancAnnotation</a></h4>
 <div class='topic'><!-- START: 2.11.11 - juneau-marshall.Transforms.BeanConstructorAnnotation -->
 <p>
-	The {@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor} annotation is used to 
+	The {@link org.apache.juneau.annotation.Beanc @Beanc} annotation is used to 
 	map constructor arguments to property names on bean with read-only properties.
 	Since method parameter names are lost during compilation, this annotation essentially redefines 
 	them so that they are available at runtime.
@@ -3132,7 +3132,7 @@
 		<jk>private final</jk> String <jf>name</jf>;
 		<jk>private final int</jk> <jf>age</jf>;
 
-		<ja>@BeanConstructor</ja>(properties=<js>"name,age"</js>})
+		<ja>@Beanc</ja>(properties=<js>"name,age"</js>})
 		<jk>public</jk> Person(String name, <jk>int</jk> age) {
 			<jk>this</jk>.<jf>name</jf> = name;
 			<jk>this</jk>.<jf>age</jf> = age;
@@ -3161,17 +3161,17 @@
 	Beans can also be defined with a combination of read-only and read-write properties.
 </p>
 <p>
-	The {@link org.apache.juneau.annotation.Name @Name} annotation can also be used instead of <c><ja>@BeanConstructor</ja>(properties)</c>:
+	The {@link org.apache.juneau.annotation.Name @Name} annotation can also be used instead of <c><ja>@Beanc</ja>(properties)</c>:
 </p>
 <p class='bpcode w800'>
-	<ja>@BeanConstructor</ja>
+	<ja>@Beanc</ja>
 	<jk>public</jk> Person(<ja>@Name</ja>(<js>"name"</js>) String name, <ja>@Name</ja>(<js>"age"</js>) <jk>int</jk> age) {
 		<jk>this</jk>.<jf>name</jf> = name;
 		<jk>this</jk>.<jf>age</jf> = age;
 	}
 </p>
 <p>
-	If neither <c><ja>@BeanConstructor</ja>(properties)</c> or <ja>@Name</ja> is used to identify the bean property names, 
+	If neither <c><ja>@Beanc</ja>(properties)</c> or <ja>@Name</ja> is used to identify the bean property names, 
 	we will try to use the parameter names if they are available in the bytecode.
 </p>
 </div><!-- END: 2.11.11 - juneau-marshall.Transforms.BeanConstructorAnnotation -->
@@ -3279,7 +3279,7 @@
 <p>
 	Juneau parsers can use builders to instantiate POJOs.
 	This is useful in cases where you want to create beans with read-only properties.
-	Note that while it's possible to do this using the {@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor}
+	Note that while it's possible to do this using the {@link org.apache.juneau.annotation.Beanc @Beanc}
 	annotation, using builders can often be cleaner.
 </p>
 <p>
@@ -4389,7 +4389,7 @@
 			<br><ja>@JsonProperty</ja>
 		</td>
 		<td>
-			{@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor}
+			{@link org.apache.juneau.annotation.Beanc @Beanc}
 		</td>
 	</tr>
 	<tr>
@@ -24792,11 +24792,11 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>11 - juneau-microservice-core</a></h2>
+<h2 class='topic updated' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>11 - juneau-microservice-core</a></h2>
 <div class='topic'><!-- START: 11 - juneau-microservice-core -->
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Maven Dependency</h5>
@@ -25623,11 +25623,11 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty' id='juneau-microservice-jetty'>12 - juneau-microservice-jetty</a></h2>
+<h2 class='topic updated' onclick='toggle(this)'><a href='#juneau-microservice-jetty' id='juneau-microservice-jetty'>12 - juneau-microservice-jetty</a></h2>
 <div class='topic'><!-- START: 12 - juneau-microservice-jetty -->
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Maven Dependency</h5>
@@ -26455,11 +26455,11 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice' id='my-jetty-microservice'>13 - my-jetty-microservice</a></h2>
+<h2 class='topic updated' onclick='toggle(this)'><a href='#my-jetty-microservice' id='my-jetty-microservice'>13 - my-jetty-microservice</a></h2>
 <div class='topic'><!-- START: 13 - my-jetty-microservice -->
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Starter Project Zip</h5>
@@ -27779,11 +27779,11 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty' id='juneau-examples-rest-jetty'>17 - juneau-examples-rest-jetty</a></h2>
+<h2 class='topic updated' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty' id='juneau-examples-rest-jetty'>17 - juneau-examples-rest-jetty</a></h2>
 <div class='topic'><!-- START: 17 - juneau-examples-rest-jetty -->
 <div class='warn'>
 	The Juneau Microservice libraries are likely to be removed in Juneau 9.0 due to the popularity of the Spring Boot
-	framework for creating microservices.
+	framework for creating microservices and the ability for Juneau to be used within Spring Boot.
 </div>
 
 <h5 class='figure'>Starter Project Zip</h5>
@@ -28968,7 +28968,7 @@
 	</li>
 	<li> 
 		Support for parsing into beans with read-only properties.<br>
-		New {@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor} annotation allows you to specify bean property values to be passed in through a constructor.
+		New <dc>@BeanConstructor</dc> annotation allows you to specify bean property values to be passed in through a constructor.
 	</li>
 	<li> 
 		Separated the rest library into separate independent client and server libraries.<br>
@@ -28987,7 +28987,7 @@
 <ul class='spaced-list'>
 	<li>
 		Support for parsing into read-only beans (i.e. beans with only getters, property values set through constructor args).<br>
-		To support this, the {@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor} annotation has been added.
+		To support this, the <dc>@BeanConstructor</dc> annotation has been added.
 	</li>
 	<li>
 		Merged separate settings classes back into their base classes (simplifies the API).
@@ -35396,6 +35396,8 @@
 	<li>
 		{@link org.apache.juneau.annotation.Beanp @Beanp} replaces {@link org.apache.juneau.annotation.BeanProperty @BeanProperty} with shorter syntax.
 	<li>
+		{@link org.apache.juneau.annotation.Beanc @Beanc} replaces {@link org.apache.juneau.annotation.BeanConstructor @BeanConstructor} with shorter syntax.
+	<li>
 		Shortened names for {@link org.apache.juneau.annotation.Bean#dictionary @Bean(dictionary)} and {@link org.apache.juneau.BeanContextBuilder#dictionary(Class...)}.
 </ul>
 
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt b/juneau-doc/src/main/javadoc/resources/docs.txt
index 4a7af3d..c95bbc3 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -179,7 +179,7 @@ juneau-marshall.SimpleVariableLanguage.VarResolvers = #juneau-marshall.SimpleVar
 juneau-marshall.Transforms = #juneau-marshall.Transforms, Overview > juneau-marshall > Transforms
 juneau-marshall.Transforms.AutoPojoSwaps = #juneau-marshall.Transforms.AutoPojoSwaps, Overview > juneau-marshall > Transforms > Auto-detected POJO swaps
 juneau-marshall.Transforms.BeanAnnotation = #juneau-marshall.Transforms.BeanAnnotation, Overview > juneau-marshall > Transforms > @Bean Annotation
-juneau-marshall.Transforms.BeancAnnotation = #juneau-marshall.Transforms.BeancAnnotation, Overview > juneau-marshall > Transforms > @Beanc Annotation
+juneau-marshall.Transforms.BeanConstructorAnnotation = #juneau-marshall.Transforms.BeanConstructorAnnotation, Overview > juneau-marshall > Transforms > @BeancAnnotation
 juneau-marshall.Transforms.BeanFilters = #juneau-marshall.Transforms.BeanFilters, Overview > juneau-marshall > Transforms > BeanFilter Class
 juneau-marshall.Transforms.BeanIgnoreAnnotation = #juneau-marshall.Transforms.BeanIgnoreAnnotation, Overview > juneau-marshall > Transforms > @BeanIgnore Annotation
 juneau-marshall.Transforms.BeanpAnnotation = #juneau-marshall.Transforms.BeanpAnnotation, Overview > juneau-marshall > Transforms > @Beanp Annotation
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index e1ae10d..dd596ef 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -47,7 +47,7 @@
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.SurrogateClasses'>Surrogate Classes</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanAnnotation'>@Bean Annotation</a></p>
 			<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanpAnnotation'>@Beanp Annotation</a></p>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanConstructorAnnotation'>@BeanConstructor Annotation</a></p>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanConstructorAnnotation'>@BeancAnnotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanIgnoreAnnotation'>@BeanIgnore Annotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.NamePropertyAnnotation'>@NameProperty Annotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.ParentPropertyAnnotation'>@ParentProperty Annotation</a></p>
@@ -349,7 +349,7 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-mock.MockRest'>MockRest</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-mock.MockRemoteResource'>MockRemoteResource</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core'>juneau-microservice-core</a></p>
+	<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core'>juneau-microservice-core</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Overview'>Microservice Overview</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.LifecycleMethods'>Lifecycle Methods</a></p>
@@ -362,7 +362,7 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Logging'>Logging</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core.Listeners'>Listeners</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
+	<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty'>juneau-microservice-jetty</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty.Overview'>Overview</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty.LifecycleMethods'>Lifecycle Methods</a></p>
@@ -373,7 +373,7 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty.UiCustomization'>UI Customization</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-jetty.Extending'>Extending JettyMicroservice</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#my-jetty-microservice'>my-jetty-microservice</a></p>
+	<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#my-jetty-microservice'>my-jetty-microservice</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#my-jetty-microservice.Installing'>Installing in Eclipse</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#my-jetty-microservice.Running'>Running in Eclipse</a></p>
@@ -398,7 +398,7 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest.ConfigResource'>ConfigResource</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest.LogsResource'>LogsResource</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></p>
+	<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest-jetty.Installing'>Installing in Eclipse</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-examples-rest-jetty.Running'>Running in Eclipse</a></p>
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/HelloWorldResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/HelloWorldResource.java
index a87c8f2..86463c1 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/HelloWorldResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/HelloWorldResource.java
@@ -26,7 +26,7 @@ import org.apache.juneau.rest.annotation.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	title="Hello World",
 	description="An example of the simplest-possible resource",
 	path="/helloWorld"
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
index 9b157be..2f290e1 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
@@ -32,7 +32,7 @@ import org.apache.juneau.transforms.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	path="/echo",
 	title="Request echo service",
 	description="Echos the current HttpServletRequest object back to the browser.",
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
index 589271b..59152f4 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
@@ -27,7 +27,7 @@ import org.apache.juneau.serializer.annotation.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	path="/*",
 	title="Root resources",
 	description="Example of a router resource page.",
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/AtomFeedResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/AtomFeedResource.java
index 2edb92b..5e0a80d 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/AtomFeedResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/AtomFeedResource.java
@@ -36,7 +36,7 @@ import org.apache.juneau.serializer.annotation.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	path="/atom",
 	title="Sample ATOM feed resource",
 	description="Sample resource that shows how to render ATOM feeds",
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/DtoExamples.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/DtoExamples.java
index bb06628..d282a34 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/DtoExamples.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/DtoExamples.java
@@ -25,7 +25,7 @@ import org.apache.juneau.serializer.annotation.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	path="/dto",
 	title="DTO examples",
 	description="Example serialization of predefined Data Transfer Objects.",
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/JsonSchemaResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/JsonSchemaResource.java
index f5b79fc..d1eb728 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/JsonSchemaResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/dto/JsonSchemaResource.java
@@ -29,7 +29,7 @@ import org.apache.juneau.rest.widget.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-@RestResource(
+@Rest(
 	path="/jsonSchema",
 	messages="nls/JsonSchemaResource",
 	title="Sample JSON-Schema document",
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
index 929446d..246798c 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ConfigResource.java
@@ -33,7 +33,7 @@ import org.apache.juneau.http.exception.*;
 /**
  * Shows contents of the microservice configuration file.
  */
-@RestResource(
+@Rest(
 	path="/config",
 	title="Configuration",
 	description="Contents of configuration file."
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
index 798a9ca..a334590 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/DirectoryResource.java
@@ -55,7 +55,7 @@ import org.apache.juneau.utils.*;
  * 		<l>DirectoryResource.allowDeletes</l> - If <jk>true</jk>, allows files to be deleted.
  * </ul>
  */
-@RestResource(
+@Rest(
 	title="File System Explorer",
 	messages="nls/DirectoryResource",
 	allowedMethodParams="*"
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
index acdd1a4..e731fa8 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
@@ -36,7 +36,7 @@ import org.apache.juneau.rest.helper.*;
 /**
  * REST resource for viewing and accessing log files.
  */
-@RestResource(
+@Rest(
 	path="/logs",
 	title="Log files",
 	description="Log files from this service",
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
index e834d9b..a236b93 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/SampleRootResource.java
@@ -18,7 +18,7 @@ import org.apache.juneau.rest.annotation.*;
 /**
  * Sample root REST resource.
  */
-@RestResource(
+@Rest(
 	path="/",
 	title="Sample Root Resource",
 	description="This is a sample router page",
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
index 5b98885..03007b3 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/ShutdownResource.java
@@ -20,7 +20,7 @@ import org.apache.juneau.rest.annotation.*;
 /**
  * Provides the capability to shut down this REST microservice through a REST call.
  */
-@RestResource(
+@Rest(
 	path="/shutdown",
 	title="Shut down this resource"
 )
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java
index e2bbefc..7a1e23c 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java
@@ -21,7 +21,7 @@ import org.apache.juneau.rest.annotation.*;
 /**
  * JUnit automated testcase resource.
  */
-@RestResource(
+@Rest(
 	path="/testConfig"
 )
 @SuppressWarnings({"serial"})
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java
index 28ca4cf..ea16b80 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java
@@ -22,7 +22,7 @@ import org.apache.juneau.testutils.pojos.*;
 /**
  * JUnit automated testcase resource.
  */
-@RestResource(
+@Rest(
 	path="/testLargePojos"
 )
 public class LargePojosResource extends BasicRestServletJena {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/MockRestTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/MockRestTest.java
index ad50ecc..ed7cb83 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/MockRestTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/MockRestTest.java
@@ -31,7 +31,7 @@ public class MockRestTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=PUT, path="/a01")
 		public String a01(@Body String body) {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java
index 5847a92..e2b0a4e 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java
@@ -21,7 +21,7 @@ import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.helper.*;
 import org.apache.juneau.rest.test.client.*;
 
-@RestResource(
+@Rest(
 	path="/*",
 	children={
 		DebugResource.class,
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/CallbackStringsTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/CallbackStringsTest.java
index 45db140..24c02ba 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/CallbackStringsTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/CallbackStringsTest.java
@@ -32,7 +32,7 @@ public class CallbackStringsTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET,path="/*")
 		public ObjectMap get(RestRequest req) throws Exception {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ClientFuturesTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ClientFuturesTest.java
index ec548e1..f64d12c 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ClientFuturesTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ClientFuturesTest.java
@@ -32,7 +32,7 @@ public class ClientFuturesTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public ObjectMap get(RestRequest req) throws Exception {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
index ecc4264..0c61256 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
@@ -229,7 +229,7 @@ public class InterfaceProxyTest {
 		}
 	}
 
-	@RestResource(
+	@Rest(
 		logging=@Logging(
 			disabled="true"
 		)
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
index f8252d2..bb34cde 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RequestBeanProxyTest.java
@@ -45,7 +45,7 @@ public class RequestBeanProxyTest {
 	// @Query
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET, path="/echoQuery")
 		public String echoQuery(RestRequest req) throws Exception {
@@ -333,7 +333,7 @@ public class RequestBeanProxyTest {
 	// @FormData
 	//=================================================================================================================
 
-	@RestResource(parsers=UrlEncodingParser.class)
+	@Rest(parsers=UrlEncodingParser.class)
 	public static class C {
 		@RestMethod(name=POST)
 		public String echoFormData(RestRequest req) throws Exception {
@@ -636,7 +636,7 @@ public class RequestBeanProxyTest {
 	// @Header
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod(name=GET)
 		public String echoHeaders(RestRequest req) throws Exception {
@@ -888,7 +888,7 @@ public class RequestBeanProxyTest {
 	// @Path
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G  {
 		@RestMethod(name=GET,path="/*")
 		public String echoPath(RestRequest req) throws Exception {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RestClientResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RestClientResource.java
index fb98415..3c74a2a 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RestClientResource.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/RestClientResource.java
@@ -22,7 +22,7 @@ import org.apache.juneau.rest.annotation.*;
 /**
  * JUnit automated testcase resource.
  */
-@RestResource(
+@Rest(
 	path="/testRestClient"
 )
 public class RestClientResource extends BasicRestServlet {
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
index 741d4dc..b3f0a62 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
@@ -37,7 +37,7 @@ import org.apache.juneau.utils.*;
 /**
  * JUnit automated testcase resource.
  */
-@RestResource(
+@Rest(
 	path="/testThirdPartyProxy",
 	logging=@Logging(
 		disabled="true"
diff --git a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.java b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.java
index b4e40e5..a85780d 100644
--- a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.java
+++ b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroserviceBuilder.java
@@ -154,7 +154,7 @@ public class JettyMicroserviceBuilder extends MicroserviceBuilder {
 	 *
 	 * <p>
 	 * This method can only be used with servlets with no-arg constructors.
-	 * <br>The path is pulled from the {@link RestResource#path()} annotation.
+	 * <br>The path is pulled from the {@link Rest#path()} annotation.
 	 *
 	 * @param c The servlet to add to the servlet container.
 	 * @return This object (for method chaining).
diff --git a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
index 9c569b8..37021a3 100644
--- a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
+++ b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/resources/DebugResource.java
@@ -26,7 +26,7 @@ import org.apache.juneau.rest.helper.*;
 /**
  * Microservice debug utilities.
  */
-@RestResource(
+@Rest(
 	path="/debug",
 	title="Debug",
 	description="Debug Utilities.",
diff --git a/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/HelloWorldResource.java b/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/HelloWorldResource.java
index aa8354f..6f61759 100755
--- a/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/HelloWorldResource.java
+++ b/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/HelloWorldResource.java
@@ -15,13 +15,12 @@ package org.apache.juneau.microservice.jetty.template;
 import static org.apache.juneau.http.HttpMethodName.*;
 
 import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.RestMethod;
-import org.apache.juneau.rest.annotation.RestResource;
+import org.apache.juneau.rest.annotation.*;
 
 /**
  * Sample REST resource that prints out a simple "Hello world!" message.
  */
-@RestResource(
+@Rest(
 	title="Hello World example",
 	path="/helloworld",
 	description="Simplest possible REST resource"
diff --git a/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/RootResources.java b/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/RootResources.java
index ab2ded9..a8a5b32 100755
--- a/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/RootResources.java
+++ b/juneau-microservice/juneau-my-jetty-microservice/src/main/java/org/apache/juneau/microservice/jetty/template/RootResources.java
@@ -17,14 +17,14 @@ import org.apache.juneau.microservice.jetty.resources.DebugResource;
 import org.apache.juneau.microservice.resources.ConfigResource;
 import org.apache.juneau.microservice.resources.LogsResource;
 import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.RestResource;
+import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.widget.ContentTypeMenuItem;
 import org.apache.juneau.rest.widget.ThemeMenuItem;
 
 /**
  * Root microservice page.
  */
-@RestResource(
+@Rest(
 	path="/*",
 	title="My Microservice",
 	description="Top-level resources page",
diff --git a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
index 412d2cf..6b04d92 100755
--- a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
+++ b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
@@ -15,13 +15,12 @@ package org.apache.juneau.microservice.springboot.template;
 import static org.apache.juneau.http.HttpMethodName.*;
 
 import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.RestMethod;
-import org.apache.juneau.rest.annotation.RestResource;
+import org.apache.juneau.rest.annotation.*;
 
 /**
  * Sample REST resource that prints out a simple "Hello world!" message.
  */
-@RestResource(
+@Rest(
 	title="Hello World example",
 	path="/helloworld",
 	description="Simplest possible REST resource"
diff --git a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/RootResources.java b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/RootResources.java
index 2f3ceaf..4ee7677 100755
--- a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/RootResources.java
+++ b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/RootResources.java
@@ -16,14 +16,14 @@ import org.apache.juneau.html.annotation.HtmlDocConfig;
 import org.apache.juneau.microservice.resources.ConfigResource;
 import org.apache.juneau.microservice.resources.LogsResource;
 import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.RestResource;
+import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.widget.ContentTypeMenuItem;
 import org.apache.juneau.rest.widget.ThemeMenuItem;
 
 /**
  * Root microservice page.
  */
-@RestResource(
+@Rest(
 	path="/*",
 	title="My Microservice",
 	description="Top-level resources page",
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/BodyAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/BodyAnnotationTest.java
index 4447839..97b17da 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/BodyAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/BodyAnnotationTest.java
@@ -52,7 +52,7 @@ public class BodyAnnotationTest {
 	// Basic tests - JSON
 	//=================================================================================================================
 
-	@RestResource(parsers=JsonParser.class)
+	@Rest(parsers=JsonParser.class)
 	public static class A {
 		@RestMethod
 		public String postA01(@Body int b, @Header("Content-Type") String ct) {
@@ -177,7 +177,7 @@ public class BodyAnnotationTest {
 	// Basic tests - OpenAPI
 	//=================================================================================================================
 
-	@RestResource(serializers=OpenApiSerializer.class,parsers=OpenApiParser.class,defaultAccept="text/openapi")
+	@Rest(serializers=OpenApiSerializer.class,parsers=OpenApiParser.class,defaultAccept="text/openapi")
 	public static class B {
 		@RestMethod
 		public Object postB01(@Body int b, @Header("Content-Type") String ct) {
@@ -311,7 +311,7 @@ public class BodyAnnotationTest {
 	// Basic tests - OpenAPI, overridden Content-Type
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod
 		public Reader postC01(@Body Reader b, @Header("Content-Type") String ct) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/EndToEndInterfaceTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/EndToEndInterfaceTest.java
index 9331c3b..edc9d7d 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/EndToEndInterfaceTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/EndToEndInterfaceTest.java
@@ -59,7 +59,7 @@ public class EndToEndInterfaceTest {
 		public String a03(@Header("foo") String b);
 	}
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static class A implements IA {
 
 		@Override
@@ -101,7 +101,7 @@ public class EndToEndInterfaceTest {
 	//=================================================================================================================
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IB {
 
 		@RemoteMethod(method="PUT", path="/a01")
@@ -155,7 +155,7 @@ public class EndToEndInterfaceTest {
 	//=================================================================================================================
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IC {
 		@RemoteMethod @RestMethod Ok ok();
 		@RemoteMethod @RestMethod Accepted accepted();
@@ -306,7 +306,7 @@ public class EndToEndInterfaceTest {
 	//=================================================================================================================
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface ID {
 		@RemoteMethod @RestMethod StreamResource streamResource() throws IOException ;
 		@RemoteMethod @RestMethod ReaderResource readerResource() throws IOException ;
@@ -366,7 +366,7 @@ public class EndToEndInterfaceTest {
 	//=================================================================================================================
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IE {
 		@RemoteMethod @RestMethod void badRequest() throws BadRequest;
 		@RemoteMethod @RestMethod void conflict() throws Conflict;
@@ -1278,7 +1278,7 @@ public class EndToEndInterfaceTest {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IF {
 		@RemoteMethod @RestMethod BadRequest badRequest();
 		@RemoteMethod @RestMethod Conflict conflict();
@@ -1589,7 +1589,7 @@ public class EndToEndInterfaceTest {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IG {
 		@RemoteMethod @RestMethod Reader reader();
 		@RemoteMethod @RestMethod InputStream inputStream();
@@ -1622,7 +1622,7 @@ public class EndToEndInterfaceTest {
 	//=================================================================================================================
 
 	@RemoteResource
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IH {
 		@RemoteMethod @RestMethod SeeOtherRoot seeOtherRoot();
 	}
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/FormDataAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/FormDataAnnotationTest.java
index 6a4f40c..c3872d6 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/FormDataAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/FormDataAnnotationTest.java
@@ -53,7 +53,7 @@ public class FormDataAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String postA(@FormData("*") ObjectMap m, @Header("Content-Type") String ct) {
@@ -173,7 +173,7 @@ public class FormDataAnnotationTest {
 	// @FormData(_default/allowEmptyValue)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -236,7 +236,7 @@ public class FormDataAnnotationTest {
 	// @FormData(collectionFormat)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod
 		public String postA(@FormData("*") ObjectMap m) {
@@ -331,7 +331,7 @@ public class FormDataAnnotationTest {
 	// @FormData(maximum,exclusiveMaximum,minimum,exclusiveMinimum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -705,7 +705,7 @@ public class FormDataAnnotationTest {
 	// @FormData(maxItems,minItems,uniqueItems)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -764,7 +764,7 @@ public class FormDataAnnotationTest {
 	// @FormData(maxLength,minLength,enum,pattern)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -829,7 +829,7 @@ public class FormDataAnnotationTest {
 	// @FormData(multipleOf)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -932,7 +932,7 @@ public class FormDataAnnotationTest {
 	// @FormData(required)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -967,7 +967,7 @@ public class FormDataAnnotationTest {
 	// @FormData(skipIfEmpty)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class I {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
@@ -1001,7 +1001,7 @@ public class FormDataAnnotationTest {
 	// @FormData(serializer)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class J {
 		@RestMethod
 		public String post(@FormData("*") ObjectMap m) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/HeaderAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/HeaderAnnotationTest.java
index 753d032..cb67525 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/HeaderAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/HeaderAnnotationTest.java
@@ -51,7 +51,7 @@ public class HeaderAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String getA(@Header("*") ObjectMap m) {
@@ -151,7 +151,7 @@ public class HeaderAnnotationTest {
 	// @Header(_default/allowEmptyValue)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -215,7 +215,7 @@ public class HeaderAnnotationTest {
 	// @Header(collectionFormat)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod
 		public String getA(@Header("*") ObjectMap m) {
@@ -271,7 +271,7 @@ public class HeaderAnnotationTest {
 	// @Header(maximum,exclusiveMaximum,minimum,exclusiveMinimum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -645,7 +645,7 @@ public class HeaderAnnotationTest {
 	// @Header(maxItems,minItems,uniqueItems)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -705,7 +705,7 @@ public class HeaderAnnotationTest {
 	// @Header(maxLength,minLength,enum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -771,7 +771,7 @@ public class HeaderAnnotationTest {
 	// @Header(multipleOf)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -875,7 +875,7 @@ public class HeaderAnnotationTest {
 	// @Header(required)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -911,7 +911,7 @@ public class HeaderAnnotationTest {
 	// @Header(skipIfEmpty)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class I {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
@@ -946,7 +946,7 @@ public class HeaderAnnotationTest {
 	// @Header(serializer)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class J {
 		@RestMethod
 		public String get(@Header("*") ObjectMap m) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/PathAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/PathAnnotationTest.java
index 89c4559..5b0b0fc 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/PathAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/PathAnnotationTest.java
@@ -51,7 +51,7 @@ public class PathAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(path="/a/{x}")
 		public String getA(@Path("x") Object x) {
@@ -151,7 +151,7 @@ public class PathAnnotationTest {
 	// @Query(collectionFormat)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod(path="/a/{x}")
 		public String getA(@Path("x") Object x) {
@@ -206,7 +206,7 @@ public class PathAnnotationTest {
 	// @Path(maximum,exclusiveMaximum,minimum,exclusiveMinimum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(path="/a/{x}")
 		public String get(@Path("*") ObjectMap m) {
@@ -562,7 +562,7 @@ public class PathAnnotationTest {
 	// @Path(maxItems,minItems,uniqueItems)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod(path="/{x}")
 		public String get(@Path("*") ObjectMap m) {
@@ -622,7 +622,7 @@ public class PathAnnotationTest {
 	// @Path(maxLength,minLength,enum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod(path="/{x}")
 		public String get(@Path("*") ObjectMap m) {
@@ -685,7 +685,7 @@ public class PathAnnotationTest {
 	// @Path(multipleOf)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod(path="/{x}")
 		public String get(@Path("*") ObjectMap m) {
@@ -789,7 +789,7 @@ public class PathAnnotationTest {
 	// @Path(required)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H {
 		@RestMethod(path="/{x}")
 		public String get(@Path("*") ObjectMap m) {
@@ -814,7 +814,7 @@ public class PathAnnotationTest {
 	// @Path(serializer)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class J {
 		@RestMethod(path="/{x}")
 		public String get(@Path("*") ObjectMap m) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/QueryAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/QueryAnnotationTest.java
index 11d25e3..9068857 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/QueryAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/QueryAnnotationTest.java
@@ -54,7 +54,7 @@ public class QueryAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String getA(@Query("*") ObjectMap m) {
@@ -173,7 +173,7 @@ public class QueryAnnotationTest {
 	// @Query(_default/allowEmptyValue)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -236,7 +236,7 @@ public class QueryAnnotationTest {
 	// @Query(collectionFormat)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod
 		public String getA(@Query("*") ObjectMap m) {
@@ -331,7 +331,7 @@ public class QueryAnnotationTest {
 	// @Query(maximum,exclusiveMaximum,minimum,exclusiveMinimum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -704,7 +704,7 @@ public class QueryAnnotationTest {
 	// @Query(maxItems,minItems,uniqueItems)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -763,7 +763,7 @@ public class QueryAnnotationTest {
 	// @Query(maxLength,minLength,enum)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -828,7 +828,7 @@ public class QueryAnnotationTest {
 	// @Query(multipleOf)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -931,7 +931,7 @@ public class QueryAnnotationTest {
 	// @Query(required)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -966,7 +966,7 @@ public class QueryAnnotationTest {
 	// @Query(skipIfEmpty)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class I {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
@@ -1000,7 +1000,7 @@ public class QueryAnnotationTest {
 	// @Query(serializer)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class J {
 		@RestMethod
 		public String get(@Query("*") ObjectMap m) {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteMethodAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteMethodAnnotationTest.java
index e9af823..5e0179e 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteMethodAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteMethodAnnotationTest.java
@@ -39,7 +39,7 @@ public class RemoteMethodAnnotationTest {
 	// Inferred methods/paths
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String get() {
@@ -85,7 +85,7 @@ public class RemoteMethodAnnotationTest {
 	// Return types
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 
 		@RestMethod
@@ -134,7 +134,7 @@ public class RemoteMethodAnnotationTest {
 	// Return types, JSON
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
 	public static class C {
 
 		@RestMethod(name="POST")
@@ -172,7 +172,7 @@ public class RemoteMethodAnnotationTest {
 	// Return types, part serialization
 	//=================================================================================================================
 
-	@RestResource(serializers=OpenApiSerializer.class, parsers=OpenApiParser.class, defaultAccept="text/openapi")
+	@Rest(serializers=OpenApiSerializer.class, parsers=OpenApiParser.class, defaultAccept="text/openapi")
 	public static class D {
 
 		@RestMethod(name="POST")
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteResourceAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteResourceAnnotationTest.java
index 5949e79..390ae0b 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteResourceAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RemoteResourceAnnotationTest.java
@@ -31,7 +31,7 @@ public class RemoteResourceAnnotationTest {
 	// @RemoteResource(path), relative paths
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 
 		@RestMethod
@@ -204,7 +204,7 @@ public class RemoteResourceAnnotationTest {
 	// @RemoteResource(path), absolute paths
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 
 		@RestMethod(path="B/b01")
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RequestAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RequestAnnotationTest.java
index edc0e15..b631a42 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RequestAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RequestAnnotationTest.java
@@ -40,7 +40,7 @@ public class RequestAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(path="/{x}")
 		public String post(@Body Reader r, @Header("X") String h, @Query("x") String q, @Path("x") String p) throws Exception {
@@ -92,7 +92,7 @@ public class RequestAnnotationTest {
 	// Annotation on parent
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod(path="/{x}")
 		public String post(@Body Reader r, @Header("X") String h, @Query("x") String q, @Path("x") String p) throws Exception {
@@ -156,7 +156,7 @@ public class RequestAnnotationTest {
 	// Annotation on interface
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod(path="/{x}")
 		public String post(@Body Reader r, @Header("X") String h, @Query("x") String q, @Path("x") String p) throws Exception {
@@ -220,7 +220,7 @@ public class RequestAnnotationTest {
 	// Annotation on parameter
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(path="/{x}")
 		public String post(@Body Reader r, @Header("X") String h, @Query("x") String q, @Path("x") String p) throws Exception {
@@ -272,7 +272,7 @@ public class RequestAnnotationTest {
 	// @Request(partSerializer)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod(path="/{x}")
 		public String post(@Body Reader r, @Header("X") String h, @Query("x") String q, @Path("x") String p) throws Exception {
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/ResponseAnnotationTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/ResponseAnnotationTest.java
index 7ecabf1..c4deb8a 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/ResponseAnnotationTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/ResponseAnnotationTest.java
@@ -46,7 +46,7 @@ public class ResponseAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String get(RestResponse res) {
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemoteResource.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemoteResource.java
index 18b27eb..d5d33d2 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemoteResource.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemoteResource.java
@@ -43,7 +43,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 */
 	protected MockRemoteResource(Class<T> intf, Object impl) {
@@ -61,7 +61,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
@@ -78,7 +78,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param m
 	 * 	The marshall to use for serializing and parsing the HTTP bodies.
@@ -97,7 +97,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param s
 	 * 	The serializer to use for serializing request bodies.
@@ -136,7 +136,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new proxy interface.
 	 */
@@ -159,7 +159,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param m
 	 * 	The marshall to use for serializing request bodies and parsing response bodies.
@@ -185,7 +185,7 @@ public class MockRemoteResource<T> {
 	 * @param intf
 	 * 	The remote interface annotated with {@link RemoteResource @RemoteResource}.
 	 * @param impl
-	 * 	The REST implementation bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST implementation bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param s
 	 * 	The serializer to use for serializing request bodies.
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
index ac6a309..9c3168f 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
@@ -116,7 +116,7 @@ public class MockRest implements MockHttpConnection {
 	 * No <c>Accept</c> or <c>Content-Type</c> header is specified by default.
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
@@ -138,7 +138,7 @@ public class MockRest implements MockHttpConnection {
 	 * </p>
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new {@link MockRest} object.
 	 */
@@ -162,7 +162,7 @@ public class MockRest implements MockHttpConnection {
 	 * </p>
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param m
 	 * 	The marshall to use for specifying the <c>Accept</c> and <c>Content-Type</c> headers.
@@ -189,7 +189,7 @@ public class MockRest implements MockHttpConnection {
 	 * </p>
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param s
 	 * 	The serializer to use for specifying the <c>Content-Type</c> header.
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index e942958..43e86ec 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -33,7 +33,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * Constructor.
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 */
 	protected MockRestClient(Object impl) {
@@ -46,7 +46,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * Creates a new RestClient builder configured with the specified REST implementation bean or bean class.
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
@@ -58,7 +58,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * Creates a new RestClient builder configured with the specified REST implementation bean or bean class.
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param m
 	 * 	The marshall to use for serializing and parsing HTTP bodies.
@@ -73,7 +73,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * Creates a new RestClient builder configured with the specified REST implementation bean or bean class.
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param s
 	 * 	The serializer to use for serializing HTTP bodies.
@@ -88,7 +88,7 @@ public class MockRestClient extends RestClientBuilder {
 	}
 
 	/**
-	 * Convenience method for creating a Restclient over the specified REST implementation bean or bean class.
+	 * Convenience method for creating a RestClient over the specified REST implementation bean or bean class.
 	 *
 	 * <p>
 	 * Equivalent to calling:
@@ -97,7 +97,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * </p>
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param m
 	 * 	The marshall to use for specifying the <c>Accept</c> and <c>Content-Type</c> headers.
@@ -109,7 +109,7 @@ public class MockRestClient extends RestClientBuilder {
 	}
 
 	/**
-	 * Convenience method for creating a Restclient over the specified REST implementation bean or bean class.
+	 * Convenience method for creating a RestClient over the specified REST implementation bean or bean class.
 	 *
 	 * <p>
 	 * Equivalent to calling:
@@ -118,7 +118,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * </p>
 	 *
 	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link RestResource @RestResource}.
+	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @param s
 	 * 	The serializer to use for serializing HTTP bodies.
diff --git a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJena.java b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJena.java
index e071e06..9245378 100644
--- a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJena.java
+++ b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJena.java
@@ -21,7 +21,7 @@ import org.apache.juneau.rest.annotation.*;
  * Identical to {@link BasicRestServletJena} but doesn't extend from {@link HttpServlet}
  */
 @SuppressWarnings("serial")
-@RestResource(
+@Rest(
 	serializers={
 		Inherit.class,
 		RdfXmlSerializer.class,
diff --git a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJenaGroup.java b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJenaGroup.java
index e0437de..02f751a 100644
--- a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJenaGroup.java
+++ b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestJenaGroup.java
@@ -21,7 +21,7 @@ import org.apache.juneau.rest.annotation.*;
  * Identical to {@link BasicRestServletJenaGroup} but doesn't extend from {@link HttpServlet}
  */
 @SuppressWarnings("serial")
-@RestResource(
+@Rest(
 	serializers={
 		Inherit.class,
 		RdfXmlSerializer.class,
diff --git a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJena.java b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJena.java
index e881204..858aed2 100755
--- a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJena.java
+++ b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJena.java
@@ -19,7 +19,7 @@ import org.apache.juneau.rest.annotation.*;
  * Resource servlet with additional RDF support.
  */
 @SuppressWarnings("serial")
-@RestResource(
+@Rest(
 	serializers={
 		Inherit.class,
 		RdfXmlSerializer.class,
diff --git a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJenaGroup.java b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJenaGroup.java
index 590c5ac..557e650 100644
--- a/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJenaGroup.java
+++ b/juneau-rest/juneau-rest-server-rdf/src/main/java/org/apache/juneau/rest/BasicRestServletJenaGroup.java
@@ -19,7 +19,7 @@ import org.apache.juneau.rest.annotation.*;
  * Resource group with additional RDF support.
  */
 @SuppressWarnings("serial")
-@RestResource(
+@Rest(
 	serializers={
 		Inherit.class,
 		RdfXmlSerializer.class,
diff --git a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestResourceResolver.java b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestResourceResolver.java
index bfae641..069fb24 100644
--- a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestResourceResolver.java
+++ b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestResourceResolver.java
@@ -20,7 +20,7 @@ import org.springframework.context.ApplicationContext;
  * Implementation of a {@link RestResourceResolver} for resolving resource classes using Spring.
  *
  * <p>
- * Used for resolving resource classes defined via {@link RestResource#children()}.
+ * Used for resolving resource classes defined via {@link Rest#children()}.
  *
  * <p>
  * A typical usage pattern for registering a Juneau REST resource class is shown below:
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
index d3cdec8..9f257b0 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
@@ -77,7 +77,7 @@ public class BasicRestInfoProviderTest {
 	// /<root>
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A01 {}
 
 	@Test
@@ -98,7 +98,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 
-	@RestResource(swagger=@ResourceSwagger("{swagger:'3.0',host:'a-host',basePath:'a-basePath',schemes:['a-scheme']}"))
+	@Rest(swagger=@ResourceSwagger("{swagger:'3.0',host:'a-host',basePath:'a-basePath',schemes:['a-scheme']}"))
 	public static class A02 {}
 
 	@Test
@@ -122,14 +122,14 @@ public class BasicRestInfoProviderTest {
 	// /info
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		title="a-title",
 		description="a-description"
 	)
 	public static class B01 {}
 
 	@Test
-	public void b01a_info_RestResource() throws Exception {
+	public void b01a_info_Rest() throws Exception {
 		Info x = getSwagger(new B01()).getInfo();
 		assertEquals("a-title", x.getTitle());
 		assertEquals("a-description", x.getDescription());
@@ -139,7 +139,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals(null, x.getLicense());
 	}
 	@Test
-	public void b01b_info_RestResource_withFile() throws Exception {
+	public void b01b_info_Rest_withFile() throws Exception {
 		Info x = getSwaggerWithFile(new B01()).getInfo();
 		assertEquals("s-title", x.getTitle());
 		assertEquals("s-description", x.getDescription());
@@ -149,7 +149,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{name:'s-name',url:'s-url'}", x.getLicense());
 	}
 
-	@RestResource(
+	@Rest(
 		messages="BasicRestInfoProviderTest",
 		title="$L{foo}",
 		description="$L{foo}"
@@ -157,19 +157,19 @@ public class BasicRestInfoProviderTest {
 	public static class B02 {}
 
 	@Test
-	public void b02a_info_RestResource_localized() throws Exception {
+	public void b02a_info_Rest_localized() throws Exception {
 		Info x = getSwagger(new B02()).getInfo();
 		assertEquals("l-foo", x.getTitle());
 		assertEquals("l-foo", x.getDescription());
 	}
 	@Test
-	public void b02b_info_RestResource_localized_withFile() throws Exception {
+	public void b02b_info_Rest_localized_withFile() throws Exception {
 		Info x = getSwaggerWithFile(new B02()).getInfo();
 		assertEquals("s-title", x.getTitle());
 		assertEquals("s-description", x.getDescription());
 	}
 
-	@RestResource(
+	@Rest(
 		title="a-title",
 		description="a-description",
 		swagger=@ResourceSwagger(
@@ -208,7 +208,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{name:'a-name',url:'a-url'}", x.getLicense());
 	}
 
-	@RestResource(
+	@Rest(
 		messages="BasicRestInfoProviderTest",
 		title="a-title",
 		description="a-description",
@@ -224,7 +224,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("l-bar", getSwaggerWithFile(new B04()).getInfo().getDescription());
 	}
 
-	@RestResource(
+	@Rest(
 		title="a-title",
 		description="a-description",
 		swagger=@ResourceSwagger(
@@ -269,7 +269,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{name:'b-name',url:'b-url'}", x.getLicense());
 	}
 
-	@RestResource(
+	@Rest(
 		title="a-title",
 		description="a-description",
 		swagger=@ResourceSwagger(
@@ -315,7 +315,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{name:'l-foo',url:'l-bar'}", x.getLicense());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			title="c-title",
 			description="c-description"
@@ -340,7 +340,7 @@ public class BasicRestInfoProviderTest {
 	// /tags
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C01 {}
 
 	@Test
@@ -355,7 +355,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Tags in @ResourceSwagger(value) should override file.
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"{tags:[{name:'a-name',description:'a-description',externalDocs:{description:'a-description',url:'a-url'}}]}"
 		)
@@ -374,7 +374,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Tags in both @ResourceSwagger(value) and @ResourceSwagger(tags) should accumulate.
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{tags:[{name:'a-name',description:'a-description',externalDocs:{description:'a-description',url:'a-url'}}]}",
 			tags=@Tag(name="b-name",description="b-description",externalDocs=@ExternalDocs(description="b-description",url="b-url"))
@@ -394,7 +394,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Same as above but without [] outer characters.
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{tags:[{name:'a-name',description:'a-description',externalDocs:{description:'a-description',url:'a-url'}}]}",
 			tags=@Tag(name="b-name",value=" { description:'b-description', externalDocs: { description:'b-description', url:'b-url' } } ")
@@ -414,7 +414,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Tags in both Swagger.json and @ResourceSwagger(tags) should accumulate.
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			tags=@Tag(name="b-name",description="b-description",externalDocs=@ExternalDocs(description="b-description",url="b-url"))
 		)
@@ -433,7 +433,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Dup tag names should be overwritten
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			tags={
 				@Tag(name="s-name",description="b-description",externalDocs=@ExternalDocs(description="b-description",url="b-url")),
@@ -454,7 +454,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("[{name:'s-name',description:'c-description',externalDocs:{description:'c-description',url:'c-url'}}]", x.getTags());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{tags:[{name:'$L{foo}',description:'$L{foo}',externalDocs:{description:'$L{foo}',url:'$L{foo}'}}]}",
 			tags=@Tag(name="$L{foo}",description="$L{foo}",externalDocs=@ExternalDocs(description="$L{foo}",url="$L{foo}"))
@@ -475,7 +475,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Auto-detect tags defined on methods.
-	@RestResource
+	@Rest
 	public static class C08 {
 		@RestMethod(swagger=@MethodSwagger(tags="foo"))
 		public void doFoo() {}
@@ -493,7 +493,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Comma-delimited list
-	@RestResource
+	@Rest
 	public static class C09 {
 		@RestMethod(swagger=@MethodSwagger(tags=" foo, bar "))
 		public void doFoo() {}
@@ -511,7 +511,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// ObjectList
-	@RestResource
+	@Rest
 	public static class C10 {
 		@RestMethod(swagger=@MethodSwagger(tags="['foo', 'bar']"))
 		public void doFoo() {}
@@ -529,7 +529,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// ObjectList localized
-	@RestResource(messages="BasicRestInfoProviderTest")
+	@Rest(messages="BasicRestInfoProviderTest")
 	public static class C11 {
 		@RestMethod(swagger=@MethodSwagger(tags="['$L{foo}', '$L{bar}']"))
 		public void doFoo() {}
@@ -547,7 +547,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 	// Comma-delimited list localized
-	@RestResource(messages="BasicRestInfoProviderTest")
+	@Rest(messages="BasicRestInfoProviderTest")
 	public static class C12 {
 		@RestMethod(swagger=@MethodSwagger(tags=" $L{foo}, $L{bar} "))
 		public void doFoo() {}
@@ -568,7 +568,7 @@ public class BasicRestInfoProviderTest {
 	// /externalDocs
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D01 {}
 
 	@Test
@@ -583,7 +583,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger("{externalDocs:{description:'a-description',url:'a-url'}}")
 	)
 	public static class D02 {}
@@ -600,7 +600,7 @@ public class BasicRestInfoProviderTest {
 	}
 
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{externalDocs:{description:'a-description',url:'a-url'}}",
 			externalDocs=@ExternalDocs(description="b-description",url="b-url")
@@ -619,7 +619,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'b-description',url:'b-url'}", x);
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{info:{externalDocs:{description:'a-description',url:'a-url'}}}",
 			externalDocs=@ExternalDocs(" description:'b-description', url:'b-url' ")
@@ -638,7 +638,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'b-description',url:'b-url'}", x);
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			value="{externalDocs:{description:'a-description',url:'a-url'}}",
 			externalDocs=@ExternalDocs("{description:'$L{foo}',url:'$L{bar}'}")
@@ -662,7 +662,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E01 {
 		@RestMethod(name=GET,path="/path/{foo}")
 		public Foo doFoo() {
@@ -689,7 +689,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['s-scheme']", x.getSchemes());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{operationId:'a-operationId',summary:'a-summary',description:'a-description',deprecated:false,schemes:['a-scheme']}}}"
 		)
@@ -720,7 +720,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['a-scheme']", x.getSchemes());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{operationId:'a-operationId',summary:'a-summary',description:'a-description',deprecated:false,schemes:['a-scheme']}}}"
 		)
@@ -753,7 +753,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['b-scheme']", x.getSchemes());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{operationId:'a-operationId',summary:'a-summary',description:'a-description',deprecated:false,schemes:['a-scheme']}}}"
 		)
@@ -790,7 +790,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['d-scheme-1','d-scheme-2']", x.getSchemes());
 	}
 
-	@RestResource(
+	@Rest(
 		messages="BasicRestInfoProviderTest",
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{operationId:'a-operationId',summary:'a-summary',description:'a-description',deprecated:false,schemes:['a-scheme']}}}"
@@ -830,7 +830,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['l-foo']", x.getSchemes());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{summary:'a-summary',description:'a-description'}}}"
 		)
@@ -858,7 +858,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("a-description", x.getDescription());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger(
 			"paths:{'/path/{foo}':{get:{}}}"
 		)
@@ -890,7 +890,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/tags
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class MD01 {
 
 		@RestMethod(name=GET,path="/path/{foo}")
@@ -905,7 +905,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['s-tag']", getSwaggerWithFile(new MD01()).getPaths().get("/path/{foo}").get("get").getTags());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
 	public static class MD02 {
 		@RestMethod(name=GET,path="/path/{foo}")
 		public Foo doFoo() {
@@ -919,7 +919,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['a-tag']", getSwaggerWithFile(new MD02()).getPaths().get("/path/{foo}").get("get").getTags());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
 	public static class MD03 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger("tags:['b-tag']"))
 		public Foo doFoo() {
@@ -933,7 +933,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['b-tag']", getSwaggerWithFile(new MD03()).getPaths().get("/path/{foo}").get("get").getTags());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
 	public static class MD04a {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(tags="['c-tag-1','c-tag-2']"))
 		public Foo doFoo() {
@@ -947,7 +947,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-tag-1','c-tag-2']", getSwaggerWithFile(new MD04a()).getPaths().get("/path/{foo}").get("get").getTags());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
 	public static class MD04b {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(tags="c-tag-1, c-tag-2"))
 		public Foo doFoo() {
@@ -961,7 +961,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-tag-1','c-tag-2']", getSwaggerWithFile(new MD04b()).getPaths().get("/path/{foo}").get("get").getTags());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:'a-tags'}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{tags:'a-tags'}}}"))
 	public static class MD05 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(tags="$L{foo}"))
 		public Foo doFoo() {
@@ -979,7 +979,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/externalDocs
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class ME01 {
 
 		@RestMethod(name=GET,path="/path/{foo}")
@@ -994,7 +994,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'s-description',url:'s-url'}", getSwaggerWithFile(new ME01()).getPaths().get("/path/{foo}").get("get").getExternalDocs());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
 	public static class ME02 {
 		@RestMethod(name=GET,path="/path/{foo}")
 		public Foo doFoo() {
@@ -1008,7 +1008,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'a-description',url:'a-url'}", getSwaggerWithFile(new ME02()).getPaths().get("/path/{foo}").get("get").getExternalDocs());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
 	public static class ME03 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger("externalDocs:{description:'b-description',url:'b-url'}"))
 		public Foo doFoo() {
@@ -1022,7 +1022,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'b-description',url:'b-url'}", getSwaggerWithFile(new ME03()).getPaths().get("/path/{foo}").get("get").getExternalDocs());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
 	public static class ME04a {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(externalDocs=@ExternalDocs(description="c-description",url="c-url")))
 		public Foo doFoo() {
@@ -1036,7 +1036,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'c-description',url:'c-url'}", getSwaggerWithFile(new ME04a()).getPaths().get("/path/{foo}").get("get").getExternalDocs());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
 	public static class ME04b {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(externalDocs=@ExternalDocs("{description:'d-description',url:'d-url'}")))
 		public Foo doFoo() {
@@ -1050,7 +1050,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{description:'d-description',url:'d-url'}", getSwaggerWithFile(new ME04b()).getPaths().get("/path/{foo}").get("get").getExternalDocs());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{externalDocs:{description:'a-description',url:'a-url'}}}}"))
 	public static class ME05 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(externalDocs=@ExternalDocs("{description:'$L{foo}',url:'$L{foo}'}")))
 		public Foo doFoo() {
@@ -1068,7 +1068,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/consumes
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class MF01 {
 
 		@RestMethod(name=GET,path="/path/{foo}")
@@ -1083,7 +1083,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['s-consumes']", getSwaggerWithFile(new MF01()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
 	public static class MF02 {
 		@RestMethod(name=GET,path="/path/{foo}")
 		public Foo doFoo() {
@@ -1097,7 +1097,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['a-consumes']", getSwaggerWithFile(new MF02()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
 	public static class MF03 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger("consumes:['b-consumes']"))
 		public Foo doFoo() {
@@ -1111,7 +1111,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['b-consumes']", getSwaggerWithFile(new MF03()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
 	public static class MF04a {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(consumes="['c-consumes-1','c-consumes-2']"))
 		public Foo doFoo() {
@@ -1125,7 +1125,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-consumes-1','c-consumes-2']", getSwaggerWithFile(new MF04a()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
 	public static class MF04b {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(consumes="c-consumes-1, c-consumes-2"))
 		public Foo doFoo() {
@@ -1139,7 +1139,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-consumes-1','c-consumes-2']", getSwaggerWithFile(new MF04b()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
 	public static class MF05 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(consumes="['$L{foo}']"))
 		public Foo doFoo() {
@@ -1153,7 +1153,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['l-foo']", getSwaggerWithFile(new MF05()).getPaths().get("/path/{foo}").get("get").getConsumes());
 	}
 
-	@RestResource(parsers={JsonParser.class})
+	@Rest(parsers={JsonParser.class})
 	public static class MF06a {
 		@RestMethod(name=PUT,path="/path2/{foo}")
 		public Foo doFoo() {
@@ -1167,7 +1167,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("null", getSwaggerWithFile(new MF06a()).getPaths().get("/path2/{foo}").get("put").getConsumes());
 	}
 
-	@RestResource(parsers={JsonParser.class})
+	@Rest(parsers={JsonParser.class})
 	public static class MF06b {
 		@RestMethod(name=PUT,path="/path2/{foo}",parsers={XmlParser.class})
 		public Foo doFoo() {
@@ -1181,7 +1181,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['text/xml','application/xml']", getSwaggerWithFile(new MF06b()).getPaths().get("/path2/{foo}").get("put").getConsumes());
 	}
 
-	@RestResource(parsers={JsonParser.class},swagger=@ResourceSwagger("paths:{'/path2/{foo}':{put:{consumes:['a-consumes']}}}"))
+	@Rest(parsers={JsonParser.class},swagger=@ResourceSwagger("paths:{'/path2/{foo}':{put:{consumes:['a-consumes']}}}"))
 	public static class MF06c {
 		@RestMethod(name=PUT,path="/path2/{foo}",parsers={XmlParser.class})
 		public Foo doFoo() {
@@ -1199,7 +1199,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/produces
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class MG01 {
 
 		@RestMethod(name=GET,path="/path/{foo}")
@@ -1214,7 +1214,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['s-produces']", getSwaggerWithFile(new MG01()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
 	public static class MG02 {
 		@RestMethod(name=GET,path="/path/{foo}")
 		public Foo doFoo() {
@@ -1228,7 +1228,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['a-produces']", getSwaggerWithFile(new MG02()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
 	public static class MG03 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger("produces:['b-produces']"))
 		public Foo doFoo() {
@@ -1242,7 +1242,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['b-produces']", getSwaggerWithFile(new MG03()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
 	public static class MG04a {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(produces="['c-produces-1','c-produces-2']"))
 		public Foo doFoo() {
@@ -1256,7 +1256,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-produces-1','c-produces-2']", getSwaggerWithFile(new MG04a()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
 	public static class MG04b {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(produces="c-produces-1, c-produces-2"))
 		public Foo doFoo() {
@@ -1270,7 +1270,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['c-produces-1','c-produces-2']", getSwaggerWithFile(new MG04b()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
 	public static class MG05 {
 		@RestMethod(name=GET,path="/path/{foo}",swagger=@MethodSwagger(produces="['$L{foo}']"))
 		public Foo doFoo() {
@@ -1284,7 +1284,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['l-foo']", getSwaggerWithFile(new MG05()).getPaths().get("/path/{foo}").get("get").getProduces());
 	}
 
-	@RestResource(serializers={JsonSerializer.class})
+	@Rest(serializers={JsonSerializer.class})
 	public static class MG06a {
 		@RestMethod(name=PUT,path="/path2/{foo}")
 		public Foo doFoo() {
@@ -1298,7 +1298,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("null", getSwaggerWithFile(new MG06a()).getPaths().get("/path2/{foo}").get("put").getProduces());
 	}
 
-	@RestResource(serializers={JsonSerializer.class})
+	@Rest(serializers={JsonSerializer.class})
 	public static class MG06b {
 		@RestMethod(name=PUT,path="/path2/{foo}",serializers={XmlSerializer.class})
 		public Foo doFoo() {
@@ -1312,7 +1312,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("['text/xml']", getSwaggerWithFile(new MG06b()).getPaths().get("/path2/{foo}").get("put").getProduces());
 	}
 
-	@RestResource(serializers={JsonSerializer.class},swagger=@ResourceSwagger("paths:{'/path2/{foo}':{put:{produces:['a-produces']}}}"))
+	@Rest(serializers={JsonSerializer.class},swagger=@ResourceSwagger("paths:{'/path2/{foo}':{put:{produces:['a-produces']}}}"))
 	public static class MG06c {
 		@RestMethod(name=PUT,path="/path2/{foo}",serializers={XmlSerializer.class})
 		public Foo doFoo() {
@@ -1330,7 +1330,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/deprecated
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class MH06 {
 		@RestMethod(name=GET,path="/path2/{foo}")
 		@Deprecated
@@ -1345,7 +1345,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("true", getSwaggerWithFile(new MH06()).getPaths().get("/path2/{foo}").get("get").getDeprecated());
 	}
 
-	@RestResource
+	@Rest
 	@Deprecated
 	public static class MH07 {
 		@RestMethod(name=GET,path="/path2/{foo}")
@@ -1364,7 +1364,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/parameters/query
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class NA01 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query("foo") Foo foo) {
@@ -1415,7 +1415,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("1", x.getMinItems());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger({
 			"paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',",
 				"name:'foo',",
@@ -1489,7 +1489,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("2", x.getMinItems());
 	}
 
-	@RestResource(
+	@Rest(
 		swagger=@ResourceSwagger({
 			"paths:{'/path/{foo}/query':{get:{parameters:[{",
 				"'in':'query',",
@@ -1591,7 +1591,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/parameters/query/example
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class NR01 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query("foo") Foo foo) {
@@ -1605,7 +1605,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{id:1}", getSwaggerWithFile(new NR01()).getPaths().get("/path/{foo}/query").get("get").getParameter("query", "foo").getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR02 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query("foo") Foo foo) {
@@ -1619,7 +1619,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{id:2}", getSwaggerWithFile(new NR02()).getPaths().get("/path/{foo}/query").get("get").getParameter("query", "foo").getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR03 {
 		@RestMethod(name=GET,path="/path/{foo}/query",swagger=@MethodSwagger("parameters:[{'in':'query',name:'foo',x-example:'{id:3}'}]"))
 		public Foo doFoo() {
@@ -1633,7 +1633,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{id:3}", getSwaggerWithFile(new NR03()).getPaths().get("/path/{foo}/query").get("get").getParameter("query", "foo").getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR04 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query(name="foo",example="{id:4}") Foo foo) {
@@ -1647,7 +1647,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{id:4}", getSwaggerWithFile(new NR04()).getPaths().get("/path/{foo}/query").get("get").getParameter("query", "foo").getExample());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{'in':'query',name:'foo',x-example:'{id:2}'}]}}}"))
 	public static class NR05 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query(name="foo",example="{id:$L{5}}") Foo foo) {
@@ -1665,7 +1665,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/parameters/body/examples
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class NS01 {
 		@RestMethod(name=GET,path="/path/{foo}/body")
 		public Foo doFoo(@Body Foo foo) {
@@ -1679,7 +1679,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'a'}", getSwaggerWithFile(new NS01()).getPaths().get("/path/{foo}/body").get("get").getParameter("body",null).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
 	public static class NS02 {
 		@RestMethod(name=GET,path="/path/{foo}/body")
 		public Foo doFoo(@Body Foo foo) {
@@ -1693,7 +1693,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'b'}", getSwaggerWithFile(new NS02()).getPaths().get("/path/{foo}/body").get("get").getParameter("body",null).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
 	public static class NS03 {
 		@RestMethod(name=GET,path="/path/{foo}/body",swagger=@MethodSwagger("parameters:[{'in':'body',x-examples:{foo:'c'}}]"))
 		public Foo doFoo() {
@@ -1707,7 +1707,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'c'}", getSwaggerWithFile(new NS03()).getPaths().get("/path/{foo}/body").get("get").getParameter("body",null).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',x-examples:{foo:'b'}}]}}}"))
 	public static class NS04 {
 		@RestMethod(name=GET,path="/path/{foo}/body")
 		public Foo doFoo(@Body(examples="{foo:'d'}") Foo foo) {
@@ -1721,7 +1721,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'d'}", getSwaggerWithFile(new NS04()).getPaths().get("/path/{foo}/body").get("get").getParameter("body",null).getExamples());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',examples:{foo:'b'}}]}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/body':{get:{parameters:[{'in':'body',examples:{foo:'b'}}]}}}"))
 	public static class NS05 {
 		@RestMethod(name=GET,path="/path/{foo}/body")
 		public Foo doFoo(@Body(examples="{foo:'$L{foo}'}") Foo foo) {
@@ -1739,7 +1739,7 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/parameters/query/schema
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class NT01 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query("foo") Foo foo) {
@@ -1753,7 +1753,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'$ref':'#/definitions/Foo'}", getSwaggerWithFile(new NT01()).getPaths().get("/path/{foo}/query").get("get").getParameter("query","foo").getSchema());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{in:'query',name:'foo',schema:{$ref:'b'}}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{in:'query',name:'foo',schema:{$ref:'b'}}]}}}"))
 	public static class NT02 {
 		@RestMethod(name=GET,path="/path/{foo}/query")
 		public Foo doFoo(@Query("foo") Foo foo) {
@@ -1767,7 +1767,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'$ref':'b'}", getSwaggerWithFile(new NT02()).getPaths().get("/path/{foo}/query").get("get").getParameter("query","foo").getSchema());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{in:'query',name:'foo',schema:{$ref:'b'}}]}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/query':{get:{parameters:[{in:'query',name:'foo',schema:{$ref:'b'}}]}}}"))
 	public static class NT03 {
 
 		@RestMethod(name=GET,path="/path/{foo}/query",swagger=@MethodSwagger("parameters:[{'in':'query',name:'foo',schema:{$ref:'c'}}]"))
@@ -1786,12 +1786,12 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/responses/<response>/description
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class OA01a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OA01x> foo) {}
 	}
-	@RestResource
+	@Rest
 	public static class OA01b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OA01x doFoo() { return null;}
@@ -1812,7 +1812,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("s-100-description", getSwaggerWithFile(new OA01b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getDescription());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA02 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -1824,7 +1824,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("a-100-description", getSwaggerWithFile(new OA02()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getDescription());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA03 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100",swagger=@MethodSwagger("responses:{100:{description:'b-100-description'}}"))
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -1836,12 +1836,12 @@ public class BasicRestInfoProviderTest {
 		assertEquals("b-100-description", getSwaggerWithFile(new OA03()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getDescription());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA04a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OA04x> foo) {}
 	}
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA04b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OA04x doFoo() {return null;}
@@ -1860,12 +1860,12 @@ public class BasicRestInfoProviderTest {
 		assertEquals("c-100-description", getSwaggerWithFile(new OA04b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getDescription());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA05a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OA05x> foo) {}
 	}
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{description:'a-100-description'}}}}}"))
 	public static class OA05b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OA05x doFoo() {return null;}
@@ -1888,12 +1888,12 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/responses/<response>/headers
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class OB01a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OB01x> foo) {}
 	}
-	@RestResource
+	@Rest
 	public static class OB01b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OB01x doFoo() {return null;}
@@ -1914,7 +1914,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'X-Foo':{description:'s-description',type:'integer',format:'int32'}}", getSwaggerWithFile(new OB01b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getHeaders());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB02 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public Foo doFoo(@ResponseStatus Value<Integer> foo) {
@@ -1928,7 +1928,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}", getSwaggerWithFile(new OB02()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getHeaders());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB03 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100",swagger=@MethodSwagger("responses:{100:{headers:{'X-Foo':{description:'c-description',type:'integer',format:'int32'}}}}"))
 		public Foo doFoo(@ResponseStatus Value<Integer> foo) {
@@ -1942,12 +1942,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'X-Foo':{description:'c-description',type:'integer',format:'int32'}}", getSwaggerWithFile(new OB03()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getHeaders());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB04a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OB04x> foo) {}
 	}
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB04b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OB04x doFoo() {return null;}
@@ -1966,12 +1966,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'X-Foo':{description:'d-description',type:'integer',format:'int32'}}", getSwaggerWithFile(new OB04b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getHeaders());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB05a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OB05x> foo) {}
 	}
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{headers:{'X-Foo':{description:'b-description',type:'integer',format:'int32'}}}}}}}"))
 	public static class OB05b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OB05x doFoo() {return null;}
@@ -1994,12 +1994,12 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/responses/<response>/example
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class OC01a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OC01x> foo) {}
 	}
-	@RestResource
+	@Rest
 	public static class OC01b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OC01x doFoo() {return null;}
@@ -2020,7 +2020,7 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{foo:'a'}", getSwaggerWithFile(new OC01b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC02 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2032,7 +2032,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'b'}", getSwaggerWithFile(new OC02()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC03 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100",swagger=@MethodSwagger("responses:{100:{example:{foo:'c'}}}"))
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2044,12 +2044,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'c'}", getSwaggerWithFile(new OC03()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExample());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC04a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OC04x> foo) {}
 	}
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC04b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OC04x doFoo() {return null;}
@@ -2070,12 +2070,12 @@ public class BasicRestInfoProviderTest {
 		assertEquals("{foo:'d'}", getSwaggerWithFile(new OC04b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExample());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC05a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OC05x> foo) {}
 	}
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{example:{foo:'b'}}}}}}"))
 	public static class OC05b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OC05x doFoo() {return null;}
@@ -2100,12 +2100,12 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/responses/<response>/examples
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class OD01a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OD01x> foo) {}
 	}
-	@RestResource
+	@Rest
 	public static class OD01b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OD01x doFoo() {return null;}
@@ -2126,7 +2126,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:'a'}", getSwaggerWithFile(new OD01b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD02 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2138,7 +2138,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:{bar:'b'}}", getSwaggerWithFile(new OD02()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD03 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100",swagger=@MethodSwagger("responses:{100:{examples:{foo:{bar:'c'}}}}"))
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2150,12 +2150,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:{bar:'c'}}", getSwaggerWithFile(new OD03()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExamples());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD04a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OD04x> foo) {}
 	}
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD04b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OD04x doFoo() {return null;}
@@ -2174,12 +2174,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{foo:{bar:'d'}}", getSwaggerWithFile(new OD04b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getExamples());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD05a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OD05x> foo) {}
 	}
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{examples:{foo:{bar:'b'}}}}}}}"))
 	public static class OD05b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OD05x doFoo() {return null;}
@@ -2202,12 +2202,12 @@ public class BasicRestInfoProviderTest {
 	// /paths/<path>/<method>/responses/<response>/schema
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class OE01a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OE01x> foo) {}
 	}
-	@RestResource
+	@Rest
 	public static class OE01b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OE01x doFoo() {return null;}
@@ -2226,7 +2226,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{type:'array',items:{'$ref':'#/definitions/Foo'}}", getSwaggerWithFile(new OE01b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getSchema());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE02 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2238,7 +2238,7 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'$ref':'b'}", getSwaggerWithFile(new OE02()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getSchema());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE03 {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100",swagger=@MethodSwagger("responses:{100:{schema:{$ref:'c'}}}}"))
 		public void doFoo(@ResponseStatus Value<Integer> foo) {}
@@ -2250,12 +2250,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'$ref':'c'}", getSwaggerWithFile(new OE03()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getSchema());
 	}
 
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE04a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OE04x> foo) {}
 	}
-	@RestResource(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE04b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OE04x doFoo() {return null;}
@@ -2274,12 +2274,12 @@ public class BasicRestInfoProviderTest {
 		assertObjectEquals("{'$ref':'d'}", getSwaggerWithFile(new OE04b()).getPaths().get("/path/{foo}/responses/100").get("get").getResponse(100).getSchema());
 	}
 
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE05a {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public void doFoo(Value<OE05x> foo) {}
 	}
-	@RestResource(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
+	@Rest(messages="BasicRestInfoProviderTest", swagger=@ResourceSwagger("paths:{'/path/{foo}/responses/100':{get:{responses:{100:{schema:{$ref:'b'}}}}}}"))
 	public static class OE05b {
 		@RestMethod(name=GET,path="/path/{foo}/responses/100")
 		public OE05x doFoo() {return null;}
@@ -2307,7 +2307,7 @@ public class BasicRestInfoProviderTest {
 	// Example bean with getter-only property.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class P extends BasicRestServlet {
 		private static final long serialVersionUID = 1L;
 
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
index 33520fa..f412c6d 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
@@ -38,7 +38,7 @@ public class BeanContextPropertiesTest  {
 	// Validate that transforms defined on class transform to underlying bean context.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	@BeanConfig(pojoSwaps=TemporalDateSwap.IsoInstant.class)
 	public static class A {
 		@RestMethod(name=GET, path="/{d1}")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
index 9a55744..6c75034 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
@@ -33,7 +33,7 @@ public class NlsTest {
 	// Test getting an NLS property defined on a class or method.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		serializers={A01.class},
 		attrs={"TestProperty:$L{key1}"},
 		messages="NlsTest"
@@ -81,7 +81,7 @@ public class NlsTest {
 	// Test OPTIONS pages without NLS
 	//=================================================================================================================
 
-	@RestResource(title="test")
+	@Rest(title="test")
 	public static class B {
 		@RestMethod(description="foo")
 		public Swagger options(RestRequest req) {
@@ -100,7 +100,7 @@ public class NlsTest {
 	// Test Missing resource bundles.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod
 		public String test(RestRequest req) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/PathsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/PathsTest.java
index 08c6189..26346b1 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/PathsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/PathsTest.java
@@ -49,7 +49,7 @@ public class PathsTest {
 	// No subpath
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET,path="/*")
 		public ObjectMap get(RestRequest req, @Path("/*") String r) {
@@ -346,10 +346,10 @@ public class PathsTest {
 	// Child resource
 	//=================================================================================================================
 
-	@RestResource(children={C01.class})
+	@Rest(children={C01.class})
 	public static class C {}
 
-	@RestResource(path="/a")
+	@Rest(path="/a")
 	public static class C01 {
 		@RestMethod(name=GET,path="/*")
 		public ObjectMap get(RestRequest req, @Path("/*") String r) {
@@ -498,10 +498,10 @@ public class PathsTest {
 	// Child resource and subpath in method
 	//=================================================================================================================
 
-	@RestResource(children={D01.class})
+	@Rest(children={D01.class})
 	public static class D {}
 
-	@RestResource(path="/a")
+	@Rest(path="/a")
 	public static class D01 {
 		@RestMethod(name=GET, path="/subpath/*")
 		public ObjectMap get(RestRequest req, @Path("/*") String r) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
index c56594a..297f99e 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/RestParamsTest.java
@@ -42,7 +42,7 @@ public class RestParamsTest {
 	// Various parameters
 	//=================================================================================================================
 
-	@RestResource(messages="RestParamsTest")
+	@Rest(messages="RestParamsTest")
 	public static class A {
 		@RestMethod
 		public String a01(ResourceBundle t) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/StatusCodesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/StatusCodesTest.java
index c79b5d8..e783a5b 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/StatusCodesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/StatusCodesTest.java
@@ -36,7 +36,7 @@ public class StatusCodesTest {
 	//=================================================================================================================
 	// OK (200)
 	//=================================================================================================================
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=PUT)
 		public Reader a01(@Body String b) {
@@ -54,7 +54,7 @@ public class StatusCodesTest {
 	// Bad Request (400)
 	//=================================================================================================================
 
-	@RestResource(parsers=JsonParser.class)
+	@Rest(parsers=JsonParser.class)
 	public static class B {
 		@RestMethod(name=PUT, path="/nonExistentBeanProperties")
 		public String b01(@Body B01 in) {
@@ -195,7 +195,7 @@ public class StatusCodesTest {
 	// Not Found (404) and Method Not Allowed (405)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod(name=GET, path="/")
 		public String c01() {
@@ -224,7 +224,7 @@ public class StatusCodesTest {
 	// Precondition Failed (412)
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(name=GET, matchers=NeverMatcher.class)
 		public String d() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/ThreadLocalObjectsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/ThreadLocalObjectsTest.java
index f647fd9..6a15f5b 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/ThreadLocalObjectsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/ThreadLocalObjectsTest.java
@@ -31,7 +31,7 @@ public class ThreadLocalObjectsTest {
 	//=================================================================================================================
 
 	@SuppressWarnings("serial")
-	@RestResource(path="/a")
+	@Rest(path="/a")
 	public static class A extends BasicRestServlet {
 		@RestMethod
 		public void getA01() throws Exception {
@@ -58,7 +58,7 @@ public class ThreadLocalObjectsTest {
 	//=================================================================================================================
 
 	@SuppressWarnings("serial")
-	@RestResource(
+	@Rest(
 		children={
 			A.class
 		}
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocAsideTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocAsideTest.java
index a31552e..320e7a8 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocAsideTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocAsideTest.java
@@ -30,7 +30,7 @@ public class HtmlDocAsideTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(aside={"a01a","a01b","INHERIT"}))
+	@Rest(htmldoc=@HtmlDoc(aside={"a01a","a01b","INHERIT"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocAsideTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(aside={"INHERIT","b01a","b01b"}))
+	@Rest(htmldoc=@HtmlDoc(aside={"INHERIT","b01a","b01b"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigAsideTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigAsideTest.java
index f72b194..bcf0be1 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigAsideTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigAsideTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigAsideTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(aside={"a01a","a01b","INHERIT"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigAsideTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(aside={"INHERIT","b01a","b01b"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigFooterTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigFooterTest.java
index c3495be..c4d77fe 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigFooterTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigFooterTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigFooterTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(footer={"a01a","a01b"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigFooterTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(footer={"b01a","INHERIT","b01b"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigHeaderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigHeaderTest.java
index 53c2f19..ae0c0f1 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigHeaderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigHeaderTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigHeaderTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(header={"a01a","a01b"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigHeaderTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(header={"b01a","b01b","INHERIT"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavTest.java
index 3ecfe66..207b40a 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigNavTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(navlinks={"NONE"},nav={"a01a","a01b"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigNavTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(nav={"INHERIT","b01a","b01b"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavlinksTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavlinksTest.java
index d51db69..cd26a3a 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavlinksTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigNavlinksTest.java
@@ -30,7 +30,7 @@ public class HtmlDocConfigNavlinksTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(navlinks={"a01a","a01b"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -139,7 +139,7 @@ public class HtmlDocConfigNavlinksTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(navlinks={"INHERIT","b01a","b01b"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigScriptTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigScriptTest.java
index 35c5247..86a9282 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigScriptTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigScriptTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigScriptTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(script={"a01a","a01b"})
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigScriptTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(script={"b01a","b01b"})
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigStyleTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigStyleTest.java
index 4e7b59d..9b90f5c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigStyleTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocConfigStyleTest.java
@@ -29,7 +29,7 @@ public class HtmlDocConfigStyleTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(style={"a01a","a01b"},stylesheet="a01s",nowrap="false")
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
@@ -84,7 +84,7 @@ public class HtmlDocConfigStyleTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource()
+	@Rest()
 	@HtmlDocConfig(style={"b01a","b01b"},stylesheet="b01s")
 	public static class B extends A {
 		@RestMethod(path="/b01")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocFooterTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocFooterTest.java
index 16e1a8c..e8ababa 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocFooterTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocFooterTest.java
@@ -30,7 +30,7 @@ public class HtmlDocFooterTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(footer={"a01a","a01b"}))
+	@Rest(htmldoc=@HtmlDoc(footer={"a01a","a01b"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocFooterTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(footer={"b01a","INHERIT","b01b"}))
+	@Rest(htmldoc=@HtmlDoc(footer={"b01a","INHERIT","b01b"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocHeaderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocHeaderTest.java
index e602b45..1e9f2dd 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocHeaderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocHeaderTest.java
@@ -30,7 +30,7 @@ public class HtmlDocHeaderTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(header={"a01a","a01b"}))
+	@Rest(htmldoc=@HtmlDoc(header={"a01a","a01b"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocHeaderTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(header={"b01a","b01b","INHERIT"}))
+	@Rest(htmldoc=@HtmlDoc(header={"b01a","b01b","INHERIT"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavTest.java
index 473b65f..2a972a5 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavTest.java
@@ -30,7 +30,7 @@ public class HtmlDocNavTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(navlinks={"NONE"},nav={"a01a","a01b"}))
+	@Rest(htmldoc=@HtmlDoc(navlinks={"NONE"},nav={"a01a","a01b"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocNavTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(nav={"INHERIT","b01a","b01b"}))
+	@Rest(htmldoc=@HtmlDoc(nav={"INHERIT","b01a","b01b"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavlinksTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavlinksTest.java
index 4c3da6c..668967c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavlinksTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocNavlinksTest.java
@@ -31,7 +31,7 @@ public class HtmlDocNavlinksTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(navlinks={"a01a","a01b"}))
+	@Rest(htmldoc=@HtmlDoc(navlinks={"a01a","a01b"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -129,7 +129,7 @@ public class HtmlDocNavlinksTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(navlinks={"INHERIT","b01a","b01b"}))
+	@Rest(htmldoc=@HtmlDoc(navlinks={"INHERIT","b01a","b01b"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocScriptTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocScriptTest.java
index c57d250..939d50a 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocScriptTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocScriptTest.java
@@ -30,7 +30,7 @@ public class HtmlDocScriptTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(script={"a01a","a01b"}))
+	@Rest(htmldoc=@HtmlDoc(script={"a01a","a01b"}))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocScriptTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(script={"b01a","b01b"}))
+	@Rest(htmldoc=@HtmlDoc(script={"b01a","b01b"}))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocStyleTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocStyleTest.java
index 82a8be9..adba5b6 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocStyleTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/HtmlDocStyleTest.java
@@ -30,7 +30,7 @@ public class HtmlDocStyleTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(style={"a01a","a01b"},stylesheet="a01s",nowrap="false"))
+	@Rest(htmldoc=@HtmlDoc(style={"a01a","a01b"},stylesheet="a01s",nowrap="false"))
 	public static class A extends BasicRestServlet {
 		@RestMethod(path="/a01")
 		public Object a01() {
@@ -80,7 +80,7 @@ public class HtmlDocStyleTest {
 	// Inheritance
 	//=================================================================================================================
 
-	@RestResource(htmldoc=@HtmlDoc(style={"b01a","b01b"},stylesheet="b01s"))
+	@Rest(htmldoc=@HtmlDoc(style={"b01a","b01b"},stylesheet="b01s"))
 	public static class B extends A {
 		@RestMethod(path="/b01")
 		public Object b01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseHeaderAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseHeaderAnnotationTest.java
index 8c206ad..5f52ecf 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseHeaderAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseHeaderAnnotationTest.java
@@ -32,7 +32,7 @@ public class ResponseHeaderAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public void a01(Value<A01> h) {
@@ -73,7 +73,7 @@ public class ResponseHeaderAnnotationTest {
 	// @ResponseHeader on POJO
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@ResponseHeader(
@@ -176,7 +176,7 @@ public class ResponseHeaderAnnotationTest {
 	// @ResponseHeader on parameter
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		public static class SB01 {}
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseStatusAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseStatusAnnotationTest.java
index cac201d..c85f33a 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseStatusAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/ResponseStatusAnnotationTest.java
@@ -28,7 +28,7 @@ public class ResponseStatusAnnotationTest {
 	// Test on parameter
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public void a01(@ResponseStatus Value<Integer> status) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodGuardsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodGuardsTest.java
index d842f91..2e8d6e3 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodGuardsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodGuardsTest.java
@@ -28,7 +28,7 @@ public class RestMethodGuardsTest {
 	// Overlapping guards
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(guards=Test1Guard.class)
 		public String a01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodMatchersTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodMatchersTest.java
index dbe9769..64ceb8e 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodMatchersTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodMatchersTest.java
@@ -30,7 +30,7 @@ public class RestMethodMatchersTest {
 	// Overlapping matchers
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET, path="/one", matchers=M1.class)
 		public String a01a() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodPathTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodPathTest.java
index ddef86b..f944245 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodPathTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodPathTest.java
@@ -29,7 +29,7 @@ public class RestMethodPathTest {
 	// Overlapping URL patterns
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET, path="/")
 		public String a01a() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceLoggingTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceLoggingTest.java
index 74ecc65..aede074 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceLoggingTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceLoggingTest.java
@@ -22,7 +22,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource(logging).
+ * Tests that validate the behavior of @Rest(logging).
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -39,7 +39,7 @@ public class RestResourceLoggingTest {
 	// Default logger config
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class A  {
 		@RestMethod
 		public String get(RestRequest req) {
@@ -58,7 +58,7 @@ public class RestResourceLoggingTest {
 	// Level
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(logging=@Logging(level="WARNING"))
+	@Rest(logging=@Logging(level="WARNING"))
 	public static class B1 {
 		@RestMethod(path="b01")
 		public String b01(RestRequest req) {
@@ -74,7 +74,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2 {
 		@RestMethod(path="b03")
 		public String getB03(RestRequest req) {
@@ -155,7 +155,7 @@ public class RestResourceLoggingTest {
 	// useStackTraceHashing
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(logging=@Logging(useStackTraceHashing="true"))
+	@Rest(logging=@Logging(useStackTraceHashing="true"))
 	public static class C1 {
 		@RestMethod(path="c01")
 		public String c01(RestRequest req) {
@@ -171,7 +171,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2 {
 		@RestMethod(path="c03")
 		public String c03(RestRequest req) {
@@ -210,7 +210,7 @@ public class RestResourceLoggingTest {
 			return string(req.getCallLoggerConfig());
 		}
 	}
-	@RestResource(logging=@Logging(useStackTraceHashing="foo"))
+	@Rest(logging=@Logging(useStackTraceHashing="foo"))
 	public static class C4 {
 		@RestMethod(path="c11")
 		public String c11(RestRequest req) {
@@ -272,7 +272,7 @@ public class RestResourceLoggingTest {
 	// stackTraceHashingTimeout
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(logging=@Logging(stackTraceHashingTimeout="1"))
+	@Rest(logging=@Logging(stackTraceHashingTimeout="1"))
 	public static class D1 {
 		@RestMethod(path="d01")
 		public String d01(RestRequest req) {
@@ -288,7 +288,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class D2 {
 		@RestMethod(path="d03")
 		public String d03(RestRequest req) {
@@ -369,7 +369,7 @@ public class RestResourceLoggingTest {
 	// noTrace
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(logging=@Logging(disabled="true"))
+	@Rest(logging=@Logging(disabled="true"))
 	public static class E1 {
 		@RestMethod(path="e01")
 		public String e01(RestRequest req) {
@@ -385,7 +385,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class E2 {
 		@RestMethod(path="e03")
 		public String e03(RestRequest req) {
@@ -424,7 +424,7 @@ public class RestResourceLoggingTest {
 			return string(req.getCallLoggerConfig());
 		}
 	}
-	@RestResource(logging=@Logging(disabled="foo"))
+	@Rest(logging=@Logging(disabled="foo"))
 	public static class E4 {
 		@RestMethod(path="e11")
 		public String e11(RestRequest req) {
@@ -486,7 +486,7 @@ public class RestResourceLoggingTest {
 	// rules
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(logging=@Logging(rules=@LoggingRule(codes="1")))
+	@Rest(logging=@Logging(rules=@LoggingRule(codes="1")))
 	public static class F1 {
 		@RestMethod(path="f01")
 		public String f01(RestRequest req) {
@@ -502,7 +502,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class F2 {
 		@RestMethod(path="f03")
 		public String f03(RestRequest req) {
@@ -583,7 +583,7 @@ public class RestResourceLoggingTest {
 	// rules
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(
+	@Rest(
 		logging=@Logging(
 			rules=@LoggingRule(
 				exceptions="1",
@@ -615,7 +615,7 @@ public class RestResourceLoggingTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class G2 {
 		@RestMethod(path="g03",
 			logging=@Logging(
@@ -652,7 +652,7 @@ public class RestResourceLoggingTest {
 	// Examples
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(
+	@Rest(
 		debug="always",
 		logging=@Logging(
 			useStackTraceHashing="true",
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceMessagesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceMessagesTest.java
index 6a8c7f1..e0fd2e7 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceMessagesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceMessagesTest.java
@@ -41,7 +41,7 @@ public class RestResourceMessagesTest {
 	// Basic tests
 	//====================================================================================================
 
-	@RestResource(messages="RestResourceMessagesTest1")
+	@Rest(messages="RestResourceMessagesTest1")
 	public static class A {
 		@RestMethod
 		public ObjectMap a01(ResourceBundle rb) {
@@ -60,7 +60,7 @@ public class RestResourceMessagesTest {
 	// Overridden on subclass.
 	//====================================================================================================
 
-	@RestResource(messages="RestResourceMessagesTest2")
+	@Rest(messages="RestResourceMessagesTest2")
 	public static class B extends A {}
 	static MockRest b = MockRest.build(B.class, null);
 
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePathTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePathTest.java
index 99d853c..3089969 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePathTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePathTest.java
@@ -20,7 +20,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource(path).
+ * Tests that validate the behavior of @Rest(path).
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -30,14 +30,14 @@ public class RestResourcePathTest {
 	// Nested children.
 	//=================================================================================================================
 
-	@RestResource(path="/p0", children={A01.class})
+	@Rest(path="/p0", children={A01.class})
 	public static class A  {
 		@RestMethod(name=GET, path="/")
 		public String doGet(RestContext c) {
 			return "A-" + c.getPath();
 		}
 	}
-	@RestResource(path="/p1", children={A02.class})
+	@Rest(path="/p1", children={A02.class})
 	public static class A01 {
 		@RestMethod(name=GET, path="/")
 		public String doGet(RestContext c) {
@@ -50,7 +50,7 @@ public class RestResourcePathTest {
 			return "A02a-" + c.getPath();
 		}
 	}
-	@RestResource(path="/p2")
+	@Rest(path="/p2")
 	public static class A02 extends A02a {}
 
 	static MockRest a = MockRest.build(A.class, null);
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePropertiesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePropertiesTest.java
index 39a49b2..db1edef 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePropertiesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourcePropertiesTest.java
@@ -25,7 +25,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource(properties).
+ * Tests that validate the behavior of @Rest(properties).
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -35,7 +35,7 @@ public class RestResourcePropertiesTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		path="/p1",
 		attrs={
 			"A1: a1",
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceSerializersTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceSerializersTest.java
index a21e5c4..eb42442 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceSerializersTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceSerializersTest.java
@@ -97,7 +97,7 @@ public class RestResourceSerializersTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(serializers=SA.class)
+	@Rest(serializers=SA.class)
 	public static class A {
 		@RestMethod
 		public String a01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceStaticFilesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceStaticFilesTest.java
index 0e66f65..dd4753f 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceStaticFilesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceStaticFilesTest.java
@@ -17,7 +17,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource(staticFiles).
+ * Tests that validate the behavior of @Rest(staticFiles).
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -27,7 +27,7 @@ public class RestResourceStaticFilesTest {
 	// Basic tests
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(staticFiles={"xdocs:xdocs","xdocs2:xdocs2:{Foo:'Bar'}"})
+	@Rest(staticFiles={"xdocs:xdocs","xdocs2:xdocs2:{Foo:'Bar'}"})
 	public static class A1 {
 		@RestMethod
 		public String a01() {
@@ -47,7 +47,7 @@ public class RestResourceStaticFilesTest {
 		a1.get("/xdocs/xsubdocs/%2E%2E/test.txt?noTrace=true").execute().assertStatus(404);
 	}
 
-	@RestResource(staticFiles={"xdocs2:xdocs2:{Foo:'Bar',Baz:'Qux'},xdocs:xdocs"})
+	@Rest(staticFiles={"xdocs2:xdocs2:{Foo:'Bar',Baz:'Qux'},xdocs:xdocs"})
 	public static class A2 {
 		@RestMethod
 		public String a02() {
@@ -71,7 +71,7 @@ public class RestResourceStaticFilesTest {
 	// Static files with response headers.
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(staticFiles={"xdocs:xdocs:{Foo:'Bar',Baz:'Qux'}"})
+	@Rest(staticFiles={"xdocs:xdocs:{Foo:'Bar',Baz:'Qux'}"})
 	public static class B {
 		@RestMethod
 		public String b01() {
@@ -89,7 +89,7 @@ public class RestResourceStaticFilesTest {
 	// Class hierarchy
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(staticFiles={"xdocs:xdocs"})
+	@Rest(staticFiles={"xdocs:xdocs"})
 	public static class C1 {
 		@RestMethod
 		public String c01() {
@@ -97,7 +97,7 @@ public class RestResourceStaticFilesTest {
 		}
 	}
 
-	@RestResource(staticFiles={"xdocs:/xdocs"})
+	@Rest(staticFiles={"xdocs:/xdocs"})
 	public static class C2 extends C1 {
 		@RestMethod
 		public String c02() {
@@ -129,7 +129,7 @@ public class RestResourceStaticFilesTest {
 	// Overridden patterns
 	//------------------------------------------------------------------------------------------------------------------
 
-	@RestResource(staticFiles={"xdocs:/xdocs,xdocs:xdocs"})
+	@Rest(staticFiles={"xdocs:/xdocs,xdocs:xdocs"})
 	public static class D {
 		@RestMethod
 		public String d01() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceTest.java
index 31f1b88..bd9c6ef 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestResourceTest.java
@@ -20,34 +20,34 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource.
+ * Tests that validate the behavior of @Rest.
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class RestResourceTest {
 
 	//====================================================================================================
-	// @RestResource(allowBodyParam)
+	// @Rest(allowBodyParam)
 	//====================================================================================================
 
-	@RestResource(allowBodyParam="true")
+	@Rest(allowBodyParam="true")
 	public static class A1 {
 		@RestMethod
 		public ObjectMap put(@Body ObjectMap body) {
 			return body;
 		}
 	}
-	@RestResource(allowBodyParam="false")
+	@Rest(allowBodyParam="false")
 	public static class A2 {
 		@RestMethod
 		public ObjectMap put(@Body ObjectMap body) {
 			return body;
 		}
 	}
-	@RestResource(allowBodyParam="false")
+	@Rest(allowBodyParam="false")
 	public static class A3 extends A1 {}
 
-	@RestResource(allowBodyParam="true")
+	@Rest(allowBodyParam="true")
 	public static class A4 extends A2 {}
 
 	static MockRest a1 = MockRest.build(A1.class, null);
@@ -80,7 +80,7 @@ public class RestResourceTest {
 	}
 
 	//====================================================================================================
-	// @RestResource(allowedHeaderParams)
+	// @Rest(allowedHeaderParams)
 	//====================================================================================================
 
 	public static class B {
@@ -90,28 +90,28 @@ public class RestResourceTest {
 		}
 	}
 
-	@RestResource()
+	@Rest()
 	public static class B1 extends B {}
 
-	@RestResource(allowedHeaderParams="Accept, Content-Type")
+	@Rest(allowedHeaderParams="Accept, Content-Type")
 	public static class B2 extends B {}
 
-	@RestResource(allowedHeaderParams="ACCEPT, CONTENT-TYPE")
+	@Rest(allowedHeaderParams="ACCEPT, CONTENT-TYPE")
 	public static class B3 extends B {}
 
-	@RestResource(allowedHeaderParams="Custom")
+	@Rest(allowedHeaderParams="Custom")
 	public static class B4 extends B {}
 
-	@RestResource(allowedHeaderParams="*")
+	@Rest(allowedHeaderParams="*")
 	public static class B5 extends B {}
 
-	@RestResource(allowedHeaderParams="NONE")
+	@Rest(allowedHeaderParams="NONE")
 	public static class B6 extends B {}
 
-	@RestResource(allowedHeaderParams="None")
+	@Rest(allowedHeaderParams="None")
 	public static class B7 extends B {}
 
-	@RestResource(allowedHeaderParams="None")
+	@Rest(allowedHeaderParams="None")
 	public static class B8 extends B5 {}
 
 	static MockRest b1 = MockRest.build(B1.class, null);
@@ -180,7 +180,7 @@ public class RestResourceTest {
 	}
 
 	//====================================================================================================
-	// @RestResource(allowedMethodHeaders)
+	// @Rest(allowedMethodHeaders)
 	//====================================================================================================
 
 	public static class C {
@@ -198,28 +198,28 @@ public class RestResourceTest {
 		}
 	}
 
-	@RestResource()
+	@Rest()
 	public static class C1 extends C {}
 
-	@RestResource(allowedMethodHeaders="GET")
+	@Rest(allowedMethodHeaders="GET")
 	public static class C2 extends C {}
 
-	@RestResource(allowedMethodHeaders="get")
+	@Rest(allowedMethodHeaders="get")
 	public static class C3 extends C {}
 
-	@RestResource(allowedMethodHeaders="FOO")
+	@Rest(allowedMethodHeaders="FOO")
 	public static class C4 extends C {}
 
-	@RestResource(allowedMethodHeaders="*")
+	@Rest(allowedMethodHeaders="*")
 	public static class C5 extends C {}
 
-	@RestResource(allowedMethodHeaders="NONE")
+	@Rest(allowedMethodHeaders="NONE")
 	public static class C6 extends C {}
 
-	@RestResource(allowedMethodHeaders="None")
+	@Rest(allowedMethodHeaders="None")
 	public static class C7 extends C {}
 
-	@RestResource(allowedMethodHeaders="None")
+	@Rest(allowedMethodHeaders="None")
 	public static class C8 extends C5 {}
 
 	static MockRest c1 = MockRest.build(C1.class, null);
@@ -316,7 +316,7 @@ public class RestResourceTest {
 	}
 
 	//====================================================================================================
-	// @RestResource(allowedMethodParams)
+	// @Rest(allowedMethodParams)
 	//====================================================================================================
 
 	public static class D {
@@ -342,28 +342,28 @@ public class RestResourceTest {
 		}
 	}
 
-	@RestResource()
+	@Rest()
 	public static class D1 extends D {}
 
-	@RestResource(allowedMethodParams="GET")
+	@Rest(allowedMethodParams="GET")
 	public static class D2 extends D {}
 
-	@RestResource(allowedMethodParams="get")
+	@Rest(allowedMethodParams="get")
 	public static class D3 extends D {}
 
-	@RestResource(allowedMethodParams="FOO")
+	@Rest(allowedMethodParams="FOO")
 	public static class D4 extends D {}
 
-	@RestResource(allowedMethodParams="*")
+	@Rest(allowedMethodParams="*")
 	public static class D5 extends D {}
 
-	@RestResource(allowedMethodParams="NONE")
+	@Rest(allowedMethodParams="NONE")
 	public static class D6 extends D {}
 
-	@RestResource(allowedMethodParams="None")
+	@Rest(allowedMethodParams="None")
 	public static class D7 extends D {}
 
-	@RestResource(allowedMethodParams="None")
+	@Rest(allowedMethodParams="None")
 	public static class D8 extends D5 {}
 
 	static MockRest d1 = MockRest.build(D1.class, null);
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/AnnotationInheritanceTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/AnnotationInheritanceTest.java
index 95b29be..e51575c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/AnnotationInheritanceTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/AnnotationInheritanceTest.java
@@ -33,7 +33,7 @@ public class AnnotationInheritanceTest {
 	// @Body on parameter
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static interface IA {
 		@RestMethod(name=PUT, path="/a01")
 		public String a01(@Body String b);
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/BodyAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/BodyAnnotationTest.java
index a7476a9..17dde9a 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/BodyAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/BodyAnnotationTest.java
@@ -48,7 +48,7 @@ public class BodyAnnotationTest {
 	// @Body on parameter
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="text/json")
 	public static class A {
 		@RestMethod(name=PUT, path="/String")
 		public String a01(@Body String b) {
@@ -270,7 +270,7 @@ public class BodyAnnotationTest {
 	// @Body on POJO
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="application/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="application/json")
 	public static class B {
 		@RestMethod(name=PUT, path="/StringTransform")
 		public B01 b01(B01 b) {
@@ -463,7 +463,7 @@ public class BodyAnnotationTest {
 	// No serializers or parsers needed when using only streams and readers.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(name=PUT, path="/String")
 		public Reader d01(@Body Reader b) throws Exception {
@@ -615,7 +615,7 @@ public class BodyAnnotationTest {
 	// Complex POJOs
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="application/json")
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="application/json")
 	public static class E {
 		@RestMethod(name=PUT, path="/B")
 		public DTOs.B testPojo1(@Body DTOs.B b) {
@@ -653,7 +653,7 @@ public class BodyAnnotationTest {
 	// Form POSTS with @Body parameter
 	//=================================================================================================================
 
-	@RestResource(serializers=JsonSerializer.class,parsers=JsonParser.class)
+	@Rest(serializers=JsonSerializer.class,parsers=JsonParser.class)
 	public static class F {
 		@RestMethod(name=POST, path="/*")
 		public Reader formPostAsContent(
@@ -683,7 +683,7 @@ public class BodyAnnotationTest {
 	// A simple round-trip test to verify that both serializing and parsing works.
 	//=================================================================================================================
 
-	@RestResource(serializers=UrlEncodingSerializer.class,parsers=UrlEncodingParser.class)
+	@Rest(serializers=UrlEncodingSerializer.class,parsers=UrlEncodingParser.class)
 	public static class G {
 		@RestMethod(name=POST,path="/")
 		public DTOs.C g(@Body DTOs.C content) throws Exception {
@@ -724,7 +724,7 @@ public class BodyAnnotationTest {
 	// A simple round-trip test to verify that both serializing and parsing works.
 	//=================================================================================================================
 
-	@RestResource(serializers=UrlEncodingSerializer.class,parsers=UrlEncodingParser.class)
+	@Rest(serializers=UrlEncodingSerializer.class,parsers=UrlEncodingParser.class)
 	public static class H {
 		@RestMethod(name=POST,path="/",
 			properties={
@@ -768,7 +768,7 @@ public class BodyAnnotationTest {
 	// Test behavior of @Body(required=true).
 	//=================================================================================================================
 
-	@RestResource(serializers=JsonSerializer.class,parsers=JsonParser.class)
+	@Rest(serializers=JsonSerializer.class,parsers=JsonParser.class)
 	public static class I {
 		@RestMethod(name=POST,path="/")
 		public DTOs.B g(@Body(required=true) DTOs.B content) throws Exception {
@@ -787,7 +787,7 @@ public class BodyAnnotationTest {
 	// Optional body parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class,parsers=JsonParser.class)
+	@Rest(serializers=SimpleJsonSerializer.class,parsers=JsonParser.class)
 	public static class J {
 		@RestMethod(name=POST,path="/a")
 		public Object a(@Body Optional<Integer> body) throws Exception {
@@ -845,7 +845,7 @@ public class BodyAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@Body(
@@ -928,7 +928,7 @@ public class BodyAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@Body(schema=@Schema(" type:'b' "))
@@ -983,7 +983,7 @@ public class BodyAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@Body(example=" {f1:'b'} ")
@@ -1020,7 +1020,7 @@ public class BodyAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TA {
 
 		public static class TA01 {
@@ -1106,7 +1106,7 @@ public class BodyAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TB {
 
 		public static class TB01 {}
@@ -1173,7 +1173,7 @@ public class BodyAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TC {
 
 		public static class TC01 {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/FormDataAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/FormDataAnnotationTest.java
index f5231a8..8ae66af 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/FormDataAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/FormDataAnnotationTest.java
@@ -40,7 +40,7 @@ public class FormDataAnnotationTest {
 	// Simple tests
 	//=================================================================================================================
 
-	@RestResource(parsers=UrlEncodingParser.class)
+	@Rest(parsers=UrlEncodingParser.class)
 	public static class A {
 		@RestMethod
 		public String post(RestRequest req, @FormData(name="p1",allowEmptyValue=true) String p1, @FormData(name="p2",allowEmptyValue=true) int p2) throws Exception {
@@ -70,7 +70,7 @@ public class FormDataAnnotationTest {
 	// UON parameters
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod(name=POST,path="/post1")
 		public String post1(RestRequest req, @FormData(value="p1") String p1) throws Exception {
@@ -100,7 +100,7 @@ public class FormDataAnnotationTest {
 	// Default values.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod(name=POST, path="/defaultFormData", defaultFormData={"f1:1","f2=2"," f3 : 3 "})
 		public ObjectMap c01(RequestFormData formData) {
@@ -161,7 +161,7 @@ public class FormDataAnnotationTest {
 	// Optional form data parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class D {
 		@RestMethod(name=POST,path="/a")
 		public Object a(@FormData("f1") Optional<Integer> f1) throws Exception {
@@ -218,7 +218,7 @@ public class FormDataAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@FormData(
@@ -299,7 +299,7 @@ public class FormDataAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@FormData(name="F")
@@ -354,7 +354,7 @@ public class FormDataAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@FormData(name="F", example={"{f1:'a'}"})
@@ -381,7 +381,7 @@ public class FormDataAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TA {
 
 		@RestMethod
@@ -451,7 +451,7 @@ public class FormDataAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TB {
 
 		@RestMethod
@@ -517,7 +517,7 @@ public class FormDataAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TC {
 
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasFormDataAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasFormDataAnnotationTest.java
index fec9b7b..c5646ed 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasFormDataAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasFormDataAnnotationTest.java
@@ -29,7 +29,7 @@ public class HasFormDataAnnotationTest {
 	// Simple tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String post(RestRequest req, @HasFormData("p1") boolean p1, @HasFormData("p2") Boolean p2) throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasQueryAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasQueryAnnotationTest.java
index e34f30e..57a4846 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasQueryAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HasQueryAnnotationTest.java
@@ -31,7 +31,7 @@ public class HasQueryAnnotationTest {
 	// Simple tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET,path="/")
 		public String get(RestRequest req, @HasQuery("p1") boolean p1, @HasQuery("p2") Boolean p2) throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HeaderAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HeaderAnnotationTest.java
index 40909ab..b8c4586 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HeaderAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/HeaderAnnotationTest.java
@@ -38,7 +38,7 @@ public class HeaderAnnotationTest {
 	// Optional header parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class A {
 		@RestMethod(name=GET,path="/a")
 		public Object a(@Header("f1") Optional<Integer> f1) throws Exception {
@@ -95,7 +95,7 @@ public class HeaderAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@Header(
@@ -163,7 +163,7 @@ public class HeaderAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@Header(name="H")
@@ -218,7 +218,7 @@ public class HeaderAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@Header(name="H", example="{f1:'a'}")
@@ -245,7 +245,7 @@ public class HeaderAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TA {
 
 		@RestMethod
@@ -315,7 +315,7 @@ public class HeaderAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TB {
 
 		@RestMethod
@@ -381,7 +381,7 @@ public class HeaderAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TC {
 
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
index a53dd5e..e5708e6 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathAnnotationTest.java
@@ -41,7 +41,7 @@ public class PathAnnotationTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A  {
 		@RestMethod(name=GET, path="/")
 		public void noPath(RestResponse res) {
@@ -105,7 +105,7 @@ public class PathAnnotationTest {
 	// Primitives
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B  {
 		@RestMethod(name=GET, path="/int/{x}/foo")
 		public String b01(@Path(name="x") int x) {
@@ -187,7 +187,7 @@ public class PathAnnotationTest {
 	// Primitive objects
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C  {
 		@RestMethod(name=GET, path="/Integer/{x}/foo")
 		public String c01(@Path(name="x") Integer x) {
@@ -269,7 +269,7 @@ public class PathAnnotationTest {
 	// POJOs convertible from strings
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		// Object with forString(String) method
 		@RestMethod(name=GET, path="/uuid/{uuid}")
@@ -289,7 +289,7 @@ public class PathAnnotationTest {
 	// @Path annotation without name.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E  {
 		@RestMethod(name=GET, path="/x/{foo}/{bar}")
 		public Object normal1(@Path String foo, @Path String bar) {
@@ -339,7 +339,7 @@ public class PathAnnotationTest {
 	// Path variables on class.
 	//=================================================================================================================
 
-	@RestResource(path="/f/{a}/{b}")
+	@Rest(path="/f/{a}/{b}")
 	public static class F  {
 		@RestMethod(name=GET, path="/")
 		public String noPath(RequestPath path) {
@@ -451,7 +451,7 @@ public class PathAnnotationTest {
 	// Path variables on child class.
 	//=================================================================================================================
 
-	@RestResource(children={F.class})
+	@Rest(children={F.class})
 	public static class G {}
 
 	static MockRest g = MockRest.create(G.class).build();
@@ -524,7 +524,7 @@ public class PathAnnotationTest {
 	// Path variables on parent and child class.
 	//=================================================================================================================
 
-	@RestResource(path="/h/{ha}/{hb}", children={F.class})
+	@Rest(path="/h/{ha}/{hb}", children={F.class})
 	public static class H {}
 
 	static MockRest h = MockRest.create(H.class).servletPath("/h").build();
@@ -610,7 +610,7 @@ public class PathAnnotationTest {
 	// Path variables on parents and child class.
 	//=================================================================================================================
 
-	@RestResource(path="/i/{ia}/{ib}", children={H.class})
+	@Rest(path="/i/{ia}/{ib}", children={H.class})
 	public static class I {}
 
 	static MockRest i = MockRest.create(I.class).servletPath("/i").build();
@@ -682,7 +682,7 @@ public class PathAnnotationTest {
 	// Optional path parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class J {
 		@RestMethod(name=GET,path="/a/{f1}")
 		public Object a(@Path("f1") Optional<Integer> f1) throws Exception {
@@ -735,7 +735,7 @@ public class PathAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@Path(
@@ -868,7 +868,7 @@ public class PathAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@Path(name="P")
@@ -923,7 +923,7 @@ public class PathAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@Path(name="P", example={" {f1:'a'} "})
@@ -951,7 +951,7 @@ public class PathAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TA {
 
 		@RestMethod(name=GET,path="/basic/{P}")
@@ -1023,7 +1023,7 @@ public class PathAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TB {
 
 		@RestMethod(name=GET,path="/schemaValue/{P}")
@@ -1089,7 +1089,7 @@ public class PathAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TC {
 
 		@RestMethod(name=GET,path="/example/{P}")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathRemainderAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathRemainderAnnotationTest.java
index 3d64ea7..0a61493 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathRemainderAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/PathRemainderAnnotationTest.java
@@ -36,7 +36,7 @@ public class PathRemainderAnnotationTest {
 	// Simple tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A  {
 		@RestMethod(name=GET, path="/*")
 		public String b(@Path("/*") String remainder) {
@@ -62,7 +62,7 @@ public class PathRemainderAnnotationTest {
 	// Optional path remainer parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class B {
 		@RestMethod(name=GET,path="/a/*")
 		public Object a(@Path("/*") Optional<Integer> f1) throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
index f34b306..fd9ff75 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/QueryAnnotationTest.java
@@ -40,7 +40,7 @@ public class QueryAnnotationTest {
 	// Simple tests
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String get(RestRequest req, @Query(name="p1",allowEmptyValue=true) String p1, @Query(name="p2",allowEmptyValue=true) int p2) throws Exception {
@@ -90,7 +90,7 @@ public class QueryAnnotationTest {
 	// UON parameters
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod(name=GET,path="/get1")
 		public String get1(RestRequest req, @Query(name="p1") String p1) throws Exception {
@@ -140,7 +140,7 @@ public class QueryAnnotationTest {
 	// Multipart parameters (e.g. &key=val1,&key=val2).
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class C {
 		public static class C01 {
 			public String a;
@@ -210,7 +210,7 @@ public class QueryAnnotationTest {
 	// Default values.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(defaultQuery={"f1:1","f2=2"," f3 : 3 "})
 		public ObjectMap d01(RequestQuery query) {
@@ -271,7 +271,7 @@ public class QueryAnnotationTest {
 	// Optional query parameter.
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class E {
 		@RestMethod(name=GET,path="/a")
 		public Object a(@Query("f1") Optional<Integer> f1) throws Exception {
@@ -328,7 +328,7 @@ public class QueryAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@Query(
@@ -409,7 +409,7 @@ public class QueryAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@Query(name="Q")
@@ -464,7 +464,7 @@ public class QueryAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@Query(name="Q", example={"{f1:'a'}"})
@@ -491,7 +491,7 @@ public class QueryAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TA {
 
 		@RestMethod
@@ -564,7 +564,7 @@ public class QueryAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TB {
 
 		@RestMethod
@@ -583,7 +583,7 @@ public class QueryAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class TC {
 
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/ResponseAnnotationTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/ResponseAnnotationTest.java
index 7dd7a0b..ae4aa5b 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/ResponseAnnotationTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/ResponseAnnotationTest.java
@@ -46,7 +46,7 @@ public class ResponseAnnotationTest {
 	// HTTP status code
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public A01 a01() {
@@ -89,7 +89,7 @@ public class ResponseAnnotationTest {
 	// @Response(usePartSerializer)
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
+	@Rest(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
 	public static class B {
 
 		@Response
@@ -147,7 +147,7 @@ public class ResponseAnnotationTest {
 	// @Response(partSerializer) with schemas
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
+	@Rest(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
 	public static class D {
 
 		@Response(schema=@Schema(collectionFormat="pipes"))
@@ -253,7 +253,7 @@ public class ResponseAnnotationTest {
 	// Basic
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod
 		public void e01(@Response Value<E01> body) {
@@ -308,7 +308,7 @@ public class ResponseAnnotationTest {
 	// Basic swagger
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
+	@Rest(serializers=OpenApiSerializer.class,defaultAccept="text/openapi")
 	public static class F {
 		@RestMethod
 		public void f01(@Response(schema=@Schema(description="f01", collectionFormat="pipes")) Value<List<Integer>> body) {
@@ -381,7 +381,7 @@ public class ResponseAnnotationTest {
 	// Test JSON Accept
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class G {
 		@RestMethod
 		public void g01(@Response Value<List<Integer>> body) {
@@ -459,7 +459,7 @@ public class ResponseAnnotationTest {
 	// @Response on RestMethod
 	//=================================================================================================================
 
-	@RestResource(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
+	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
 	public static class J {
 
 		@RestMethod(name="POST")
@@ -483,7 +483,7 @@ public class ResponseAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SA {
 
 		@Response(
@@ -653,7 +653,7 @@ public class ResponseAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SB {
 
 		@Response(schema=@Schema(" type:'number' "))
@@ -736,7 +736,7 @@ public class ResponseAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class SC {
 
 		@Response(example="{f1:'a'}")
@@ -789,7 +789,7 @@ public class ResponseAnnotationTest {
 	// Basic tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class UA {
 
 		@Response(
@@ -899,7 +899,7 @@ public class ResponseAnnotationTest {
 	// Schema
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class UB {
 
 		@Response(schema=@Schema(" type:'number' "))
@@ -920,7 +920,7 @@ public class ResponseAnnotationTest {
 	// Examples
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class UC {
 
 		@Response(example={" {f1:'b'} "})
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestHookTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestHookTest.java
index 906fcf8..9d00e24 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestHookTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestHookTest.java
@@ -44,7 +44,7 @@ public class RestHookTest {
 	// @RestHook(PRE_CALL)
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		parsers=A01.class,
 		attrs={
 			"p1:sp1", // Unchanged servlet-level property.
@@ -117,7 +117,7 @@ public class RestHookTest {
 	// @RestHook(POST_CALL)
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		serializers=B01.class,
 		attrs={
 			"p1:sp1", // Unchanged servlet-level property.
@@ -216,11 +216,11 @@ public class RestHookTest {
 	// @RestHook(INIT)
 	//====================================================================================================
 
-	@RestResource(children={C_Super.class,C_Sub.class})
+	@Rest(children={C_Super.class,C_Sub.class})
 	public static class C {}
 	static MockRest c = MockRest.build(C.class, null);
 
-	@RestResource(path="/super")
+	@Rest(path="/super")
 	public static class C_Super {
 		protected ObjectList events = new ObjectList();
 		@RestHook(INIT)
@@ -245,7 +245,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/sub", children={C_Child.class})
+	@Rest(path="/sub", children={C_Child.class})
 	public static class C_Sub extends C_Super {
 		@Override
 		@RestHook(INIT)
@@ -268,7 +268,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/child")
+	@Rest(path="/child")
 	public static class C_Child extends C_Super {
 		@Override
 		@RestHook(INIT)
@@ -291,11 +291,11 @@ public class RestHookTest {
 	//====================================================================================================
 	// @RestHook(POST_INIT)
 	//====================================================================================================
-	@RestResource(children={D_Super.class,D_Sub.class})
+	@Rest(children={D_Super.class,D_Sub.class})
 	public static class D {}
 	static MockRest d = MockRest.build(D.class, null);
 
-	@RestResource(path="/super")
+	@Rest(path="/super")
 	public static class D_Super {
 		protected ObjectList events = new ObjectList();
 		@RestHook(POST_INIT)
@@ -320,7 +320,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/sub",children={D_Child.class})
+	@Rest(path="/sub",children={D_Child.class})
 	public static class D_Sub extends D_Super {
 		protected static String LAST_CALLED;
 		@Override
@@ -352,7 +352,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/child")
+	@Rest(path="/child")
 	public static class D_Child extends D_Super {
 		@Override
 		@RestHook(POST_INIT)
@@ -384,7 +384,7 @@ public class RestHookTest {
 	// @RestHook(POST_INIT_CHILD_FIRST)
 	//====================================================================================================
 
-	@RestResource(
+	@Rest(
 		children={
 			E_Super.class,
 			E_Sub.class
@@ -393,7 +393,7 @@ public class RestHookTest {
 	public static class E {}
 	static MockRest e = MockRest.build(E.class, null);
 
-	@RestResource(path="/super")
+	@Rest(path="/super")
 	public static class E_Super {
 		protected ObjectList events = new ObjectList();
 		@RestHook(POST_INIT_CHILD_FIRST)
@@ -418,7 +418,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/sub", children={E_Child.class})
+	@Rest(path="/sub", children={E_Child.class})
 	public static class E_Sub extends E_Super {
 		protected static String LAST_CALLED;
 		@Override
@@ -450,7 +450,7 @@ public class RestHookTest {
 		}
 	}
 
-	@RestResource(path="/child")
+	@Rest(path="/child")
 	public static class E_Child extends E_Super {
 		@Override
 		@RestHook(POST_INIT_CHILD_FIRST)
@@ -482,7 +482,7 @@ public class RestHookTest {
 	// @RestHook(START_CALL)
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F extends F_Parent {
 		private boolean start3Called;
 		@RestHook(START_CALL)
@@ -533,7 +533,7 @@ public class RestHookTest {
 	// @RestHook(PRE_CALL)
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G extends G_Parent {
 		private boolean pre3Called;
 		@RestHook(PRE_CALL)
@@ -584,7 +584,7 @@ public class RestHookTest {
 	// @RestHook(POST_CALL)
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H extends H_Parent {
 		private boolean post3Called;
 		@RestHook(POST_CALL)
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestMethodInheritTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestMethodInheritTest.java
index 22a136d..756ab5e 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestMethodInheritTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestMethodInheritTest.java
@@ -129,13 +129,13 @@ public class RestMethodInheritTest {
 	// Test serializer inheritance.
 	//=================================================================================================================
 
-	@RestResource(serializers={S1.class,S2.class})
+	@Rest(serializers={S1.class,S2.class})
 	public static class A {}
 
-	@RestResource(serializers={S3.class,S4.class,Inherit.class})
+	@Rest(serializers={S3.class,S4.class,Inherit.class})
 	public static class A01 extends A {}
 
-	@RestResource
+	@Rest
 	public static class A02 extends A01 {
 		@RestMethod(path="/default")
 		public ObjectList a01(RestResponse res) {
@@ -172,13 +172,13 @@ public class RestMethodInheritTest {
 	// Test parser inheritance.
 	//=================================================================================================================
 
-	@RestResource(parsers={P1.class,P2.class})
+	@Rest(parsers={P1.class,P2.class})
 	public static class B {}
 
-	@RestResource(parsers={P3.class,P4.class,Inherit.class})
+	@Rest(parsers={P3.class,P4.class,Inherit.class})
 	public static class B01 extends B {}
 
-	@RestResource
+	@Rest
 	public static class B02 extends B01 {
 		@RestMethod(path="/default")
 		public ObjectList b01(RestRequest req) {
@@ -215,13 +215,13 @@ public class RestMethodInheritTest {
 	// Test filter inheritance.
 	//=================================================================================================================
 
-	@RestResource(pojoSwaps={F1Swap.class})
+	@Rest(pojoSwaps={F1Swap.class})
 	public static class D {}
 
-	@RestResource(pojoSwaps={F2Swap.class,Inherit.class})
+	@Rest(pojoSwaps={F2Swap.class,Inherit.class})
 	public static class D01 extends D {}
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class D02 extends D01 {
 		@RestMethod
 		public Object[] d01() {
@@ -268,13 +268,13 @@ public class RestMethodInheritTest {
 	// Test properties inheritance.
 	//=================================================================================================================
 
-	@RestResource(attrs={"p1:v1","p2:v2"})
+	@Rest(attrs={"p1:v1","p2:v2"})
 	public static class E {}
 
-	@RestResource(attrs={"p2:v2a","p3:v3","p4:v4"})
+	@Rest(attrs={"p2:v2a","p3:v3","p4:v4"})
 	public static class E01 extends E {}
 
-	@RestResource
+	@Rest
 	public static class E02 extends E01 {
 		@RestMethod
 		public ObjectMap e01(RequestAttributes attrs) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourceParsersTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourceParsersTest.java
index 139de8b..89cd016 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourceParsersTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourceParsersTest.java
@@ -105,7 +105,7 @@ public class RestResourceParsersTest {
 	// Basic tests
 	//=================================================================================================================
 
-	@RestResource(parsers=PA.class)
+	@Rest(parsers=PA.class)
 	public static class A {
 		@RestMethod(name=PUT, path="/parserOnClass")
 		public String a01(@Body String in) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
index 4679ccf..4c1f01c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
@@ -27,7 +27,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests that validate the behavior of @RestResource(pojoSwaps).
+ * Tests that validate the behavior of @Rest(pojoSwaps).
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -86,10 +86,10 @@ public class RestResourcePojoSwapsTest {
 		}
 	}
 
-	@RestResource(pojoSwaps={SwapA1.class}, serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
+	@Rest(pojoSwaps={SwapA1.class}, serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
 	public static class A01_Parent {}
 
-	@RestResource(pojoSwaps={SwapA2.class})
+	@Rest(pojoSwaps={SwapA2.class})
 	public static class A01 extends A01_Parent {
 
 		@RestMethod(name=GET, path="/classTransformOverridesParentClassTransform")
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RoleGuardTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RoleGuardTest.java
index 8728ce2..792ed90 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RoleGuardTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RoleGuardTest.java
@@ -18,7 +18,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests the @RestResource(roleGuard) and @RestMethod(roleGuard) annotations.
+ * Tests the @Rest(roleGuard) and @RestMethod(roleGuard) annotations.
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -28,7 +28,7 @@ public class RoleGuardTest {
 	// Simple guard on class
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(roleGuard="foo")
+	@Rest(roleGuard="foo")
 	public static class A1 {
 		@RestMethod
 		public String get() {
@@ -55,7 +55,7 @@ public class RoleGuardTest {
 	// Simple guard on method
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class A2 {
 		@RestMethod(roleGuard="foo")
 		public String get() {
@@ -82,7 +82,7 @@ public class RoleGuardTest {
 	// Simple guards on class and method
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(roleGuard="foo")
+	@Rest(roleGuard="foo")
 	public static class A3 {
 		@RestMethod(roleGuard="bar")
 		public String get() {
@@ -111,7 +111,7 @@ public class RoleGuardTest {
 	// Simple guards on class and method, inherited
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(roleGuard="foo")
+	@Rest(roleGuard="foo")
 	public static class A4a {
 		@RestMethod(roleGuard="bar")
 		public String get() {
@@ -119,7 +119,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource(roleGuard="baz")
+	@Rest(roleGuard="baz")
 	public static class A4b extends A4a {
 		@Override
 		@RestMethod(roleGuard="qux")
@@ -150,10 +150,10 @@ public class RoleGuardTest {
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// @RestResource(roleGuard), multiple guards on class
+	// @Rest(roleGuard), multiple guards on class
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class B1 {
 		@RestMethod
 		public String get() {
@@ -161,28 +161,28 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource(roleGuard="foo,bar")
+	@Rest(roleGuard="foo,bar")
 	public static class B1a extends B1 {}
 
-	@RestResource(roleGuard="foo | bar")
+	@Rest(roleGuard="foo | bar")
 	public static class B1b extends B1 {}
 
-	@RestResource(roleGuard="foo || bar")
+	@Rest(roleGuard="foo || bar")
 	public static class B1c extends B1 {}
 
-	@RestResource(roleGuard="foo & bar")
+	@Rest(roleGuard="foo & bar")
 	public static class B1d extends B1 {}
 
-	@RestResource(roleGuard="foo && bar")
+	@Rest(roleGuard="foo && bar")
 	public static class B1e extends B1 {}
 
-	@RestResource(roleGuard="(foo) && (bar)")
+	@Rest(roleGuard="(foo) && (bar)")
 	public static class B1f extends B1 {}
 
-	@RestResource(roleGuard="foo && (bar || baz)")
+	@Rest(roleGuard="foo && (bar || baz)")
 	public static class B1g extends B1 {}
 
-	@RestResource(roleGuard="foo || (bar && baz)")
+	@Rest(roleGuard="foo || (bar && baz)")
 	public static class B1h extends B1 {}
 
 	static MockRest b1a = MockRest.build(B1a.class, null);
@@ -196,7 +196,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01a_orsWithComma_pass() throws Exception {
-		// @RestResource(roleGuard="foo,bar")
+		// @Rest(roleGuard="foo,bar")
 		b1a.get().roles("foo").execute().assertStatus(200);
 		b1a.get().roles("bar").execute().assertStatus(200);
 		b1a.get().roles("foo","bar").execute().assertStatus(200);
@@ -205,14 +205,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01b_orsWithComma_fail() throws Exception {
-		// @RestResource(roleGuard="foo,bar")
+		// @Rest(roleGuard="foo,bar")
 		b1a.get().roles().execute().assertStatus(403);
 		b1a.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void b01c_orsWithSinglePipe_pass() throws Exception {
-		// @RestResource(roleGuard="foo | bar")
+		// @Rest(roleGuard="foo | bar")
 		b1b.get().roles("foo").execute().assertStatus(200);
 		b1b.get().roles("bar").execute().assertStatus(200);
 		b1b.get().roles("foo","bar").execute().assertStatus(200);
@@ -221,14 +221,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01d_orsWithSinglePipe_fail() throws Exception {
-		// @RestResource(roleGuard="foo | bar")
+		// @Rest(roleGuard="foo | bar")
 		b1b.get().roles().execute().assertStatus(403);
 		b1b.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void b01e_orsWithDoublePipe_pass() throws Exception {
-		// @RestResource(roleGuard="foo || bar")
+		// @Rest(roleGuard="foo || bar")
 		b1c.get().roles("foo").execute().assertStatus(200);
 		b1c.get().roles("bar").execute().assertStatus(200);
 		b1c.get().roles("foo","bar").execute().assertStatus(200);
@@ -237,21 +237,21 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01f_orsWithDoublePipe_fail() throws Exception {
-		// @RestResource(roleGuard="foo || bar")
+		// @Rest(roleGuard="foo || bar")
 		b1c.get().roles().execute().assertStatus(403);
 		b1c.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void b01g_andsWithSingleAmp_pass() throws Exception {
-		// @RestResource(roleGuard="foo & bar")
+		// @Rest(roleGuard="foo & bar")
 		b1d.get().roles("foo","bar").execute().assertStatus(200);
 		b1d.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void b01h_andsWithSingleAmp_fail() throws Exception {
-		// @RestResource(roleGuard="foo & bar")
+		// @Rest(roleGuard="foo & bar")
 		b1d.get().roles().execute().assertStatus(403);
 		b1d.get().roles("foo").execute().assertStatus(403);
 		b1d.get().roles("bar").execute().assertStatus(403);
@@ -260,14 +260,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01i_andsWithDoubleAmp_pass() throws Exception {
-		// @RestResource(roleGuard="foo && bar")
+		// @Rest(roleGuard="foo && bar")
 		b1e.get().roles("foo","bar").execute().assertStatus(200);
 		b1e.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void b01j_andsWithDoubleAmp_fail() throws Exception {
-		// @RestResource(roleGuard="foo && bar")
+		// @Rest(roleGuard="foo && bar")
 		b1e.get().roles().execute().assertStatus(403);
 		b1e.get().roles("foo").execute().assertStatus(403);
 		b1e.get().roles("bar").execute().assertStatus(403);
@@ -276,14 +276,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01k_andsWithDoubleAmpAndParens_pass() throws Exception {
-		// @RestResource(roleGuard="(foo) && (bar)")
+		// @Rest(roleGuard="(foo) && (bar)")
 		b1f.get().roles("foo","bar").execute().assertStatus(200);
 		b1f.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void b01l_andsWithDoubleAmpAndParens_fail() throws Exception {
-		// @RestResource(roleGuard="(foo) && (bar)")
+		// @Rest(roleGuard="(foo) && (bar)")
 		b1f.get().roles().execute().assertStatus(403);
 		b1f.get().roles("foo").execute().assertStatus(403);
 		b1f.get().roles("bar").execute().assertStatus(403);
@@ -292,7 +292,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01m_complex_pass() throws Exception {
-		// @RestResource(roleGuard="foo && (bar || baz)")
+		// @Rest(roleGuard="foo && (bar || baz)")
 		b1g.get().roles("foo","bar").execute().assertStatus(200);
 		b1g.get().roles("foo","baz").execute().assertStatus(200);
 		b1g.get().roles("foo","bar","baz").execute().assertStatus(200);
@@ -300,7 +300,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01n_complex_fail() throws Exception {
-		// @RestResource(roleGuard="foo && (bar || baz)")
+		// @Rest(roleGuard="foo && (bar || baz)")
 		b1g.get().roles().execute().assertStatus(403);
 		b1g.get().roles("foo").execute().assertStatus(403);
 		b1g.get().roles("bar","baz").execute().assertStatus(403);
@@ -309,7 +309,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01o_complex_pass() throws Exception {
-		// @RestResource(roleGuard="foo || (bar && baz)")
+		// @Rest(roleGuard="foo || (bar && baz)")
 		b1h.get().roles("foo").execute().assertStatus(200);
 		b1h.get().roles("bar","baz").execute().assertStatus(200);
 		b1h.get().roles("foo","bar","baz").execute().assertStatus(200);
@@ -317,7 +317,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void b01p_complex_fail() throws Exception {
-		// @RestResource(roleGuard="foo || (bar && baz)")
+		// @Rest(roleGuard="foo || (bar && baz)")
 		b1h.get().roles().execute().assertStatus(403);
 		b1h.get().roles("bar").execute().assertStatus(403);
 		b1h.get().roles("baz").execute().assertStatus(403);
@@ -327,7 +327,7 @@ public class RoleGuardTest {
 	// @RestMethod(roleGuard), multiple guards on method
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class B2a {
 		@RestMethod(roleGuard="foo,bar")
 		public String get() {
@@ -335,7 +335,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2b {
 		@RestMethod(roleGuard="foo | bar")
 		public String get() {
@@ -343,7 +343,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2c {
 		@RestMethod(roleGuard="foo || bar")
 		public String get() {
@@ -351,7 +351,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2d {
 		@RestMethod(roleGuard="foo & bar")
 		public String get() {
@@ -359,7 +359,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2e {
 		@RestMethod(roleGuard="foo && bar")
 		public String get() {
@@ -367,7 +367,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2f {
 		@RestMethod(roleGuard="(foo) && (bar)")
 		public String get() {
@@ -375,7 +375,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2g {
 		@RestMethod(roleGuard="foo && (bar || baz)")
 		public String get() {
@@ -383,7 +383,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class B2h {
 		@RestMethod(roleGuard="foo || (bar && baz)")
 		public String get() {
@@ -530,10 +530,10 @@ public class RoleGuardTest {
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// @RestResource(roleGuard), pattern guards on class
+	// @Rest(roleGuard), pattern guards on class
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(rolesDeclared="foo,bar,baz")
+	@Rest(rolesDeclared="foo,bar,baz")
 	public static class C1 {
 		@RestMethod
 		public String get() {
@@ -541,28 +541,28 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource(roleGuard="fo*,*ar")
+	@Rest(roleGuard="fo*,*ar")
 	public static class C1a extends C1 {}
 
-	@RestResource(roleGuard="fo* | *ar")
+	@Rest(roleGuard="fo* | *ar")
 	public static class C1b extends C1 {}
 
-	@RestResource(roleGuard="fo* || *ar")
+	@Rest(roleGuard="fo* || *ar")
 	public static class C1c extends C1 {}
 
-	@RestResource(roleGuard="fo* & *ar")
+	@Rest(roleGuard="fo* & *ar")
 	public static class C1d extends C1 {}
 
-	@RestResource(roleGuard="fo* && *ar")
+	@Rest(roleGuard="fo* && *ar")
 	public static class C1e extends C1 {}
 
-	@RestResource(roleGuard="(fo*) && (*ar)")
+	@Rest(roleGuard="(fo*) && (*ar)")
 	public static class C1f extends C1 {}
 
-	@RestResource(roleGuard="fo* && (*ar || *az)")
+	@Rest(roleGuard="fo* && (*ar || *az)")
 	public static class C1g extends C1 {}
 
-	@RestResource(roleGuard="fo* || (*ar && *az)")
+	@Rest(roleGuard="fo* || (*ar && *az)")
 	public static class C1h extends C1 {}
 
 	static MockRest c1a = MockRest.build(C1a.class, null);
@@ -576,7 +576,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01a_orPatternsWithComma_pass() throws Exception {
-		// @RestResource(roleGuard="fo*,*ar")
+		// @Rest(roleGuard="fo*,*ar")
 		c1a.get().roles("foo").execute().assertStatus(200);
 		c1a.get().roles("bar").execute().assertStatus(200);
 		c1a.get().roles("foo","bar").execute().assertStatus(200);
@@ -585,14 +585,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01b_orPatternsWithComma_fail() throws Exception {
-		// @RestResource(roleGuard="fo*,*ar")
+		// @Rest(roleGuard="fo*,*ar")
 		c1a.get().roles().execute().assertStatus(403);
 		c1a.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void c01c_orPatternsWithSinglePipe_pass() throws Exception {
-		// @RestResource(roleGuard="fo* | *ar")
+		// @Rest(roleGuard="fo* | *ar")
 		c1b.get().roles("foo").execute().assertStatus(200);
 		c1b.get().roles("bar").execute().assertStatus(200);
 		c1b.get().roles("foo","bar").execute().assertStatus(200);
@@ -601,14 +601,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01d_orPatternsWithSinglePipe_fail() throws Exception {
-		// @RestResource(roleGuard="fo* | *ar")
+		// @Rest(roleGuard="fo* | *ar")
 		c1b.get().roles().execute().assertStatus(403);
 		c1b.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void c01e_orPatternsWithDoublePipe_pass() throws Exception {
-		// @RestResource(roleGuard="fo* || *ar")
+		// @Rest(roleGuard="fo* || *ar")
 		c1c.get().roles("foo").execute().assertStatus(200);
 		c1c.get().roles("bar").execute().assertStatus(200);
 		c1c.get().roles("foo","bar").execute().assertStatus(200);
@@ -617,21 +617,21 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01f_orPatternsWithDoublePipe_fail() throws Exception {
-		// @RestResource(roleGuard="fo* || *ar")
+		// @Rest(roleGuard="fo* || *ar")
 		c1c.get().roles().execute().assertStatus(403);
 		c1c.get().roles("baz").execute().assertStatus(403);
 	}
 
 	@Test
 	public void c01g_andPatternsWithSingleAmp_pass() throws Exception {
-		// @RestResource(roleGuard="fo* & *ar")
+		// @Rest(roleGuard="fo* & *ar")
 		c1d.get().roles("foo","bar").execute().assertStatus(200);
 		c1d.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void c01h_andPatternsWithSingleAmp_fail() throws Exception {
-		// @RestResource(roleGuard="fo* & *ar")
+		// @Rest(roleGuard="fo* & *ar")
 		c1d.get().roles().execute().assertStatus(403);
 		c1d.get().roles("foo").execute().assertStatus(403);
 		c1d.get().roles("bar").execute().assertStatus(403);
@@ -640,14 +640,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01i_andPatternsWithDoubleAmp_pass() throws Exception {
-		// @RestResource(roleGuard="fo* && *ar")
+		// @Rest(roleGuard="fo* && *ar")
 		c1e.get().roles("foo","bar").execute().assertStatus(200);
 		c1e.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void c01j_andPatternsWithDoubleAmp_fail() throws Exception {
-		// @RestResource(roleGuard="fo* && *ar")
+		// @Rest(roleGuard="fo* && *ar")
 		c1e.get().roles().execute().assertStatus(403);
 		c1e.get().roles("foo").execute().assertStatus(403);
 		c1e.get().roles("bar").execute().assertStatus(403);
@@ -656,14 +656,14 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01k_andPatternsWithDoubleAmpAndParens_pass() throws Exception {
-		// @RestResource(roleGuard="(fo*) && (*ar)")
+		// @Rest(roleGuard="(fo*) && (*ar)")
 		c1f.get().roles("foo","bar").execute().assertStatus(200);
 		c1f.get().roles("foo","bar","baz").execute().assertStatus(200);
 	}
 
 	@Test
 	public void c01l_andPatternsWithDoubleAmpAndParens_fail() throws Exception {
-		// @RestResource(roleGuard="(fo*) && (*ar)")
+		// @Rest(roleGuard="(fo*) && (*ar)")
 		c1f.get().roles().execute().assertStatus(403);
 		c1f.get().roles("foo").execute().assertStatus(403);
 		c1f.get().roles("bar").execute().assertStatus(403);
@@ -672,7 +672,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01m_complexPatterns_pass() throws Exception {
-		// @RestResource(roleGuard="fo* && (*ar || *az)")
+		// @Rest(roleGuard="fo* && (*ar || *az)")
 		c1g.get().roles("foo","bar").execute().assertStatus(200);
 		c1g.get().roles("foo","baz").execute().assertStatus(200);
 		c1g.get().roles("foo","bar","baz").execute().assertStatus(200);
@@ -680,7 +680,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01n_complexPatterns_fail() throws Exception {
-		// @RestResource(roleGuard="fo* && (*ar || *az)")
+		// @Rest(roleGuard="fo* && (*ar || *az)")
 		c1g.get().roles().execute().assertStatus(403);
 		c1g.get().roles("foo").execute().assertStatus(403);
 		c1g.get().roles("bar","baz").execute().assertStatus(403);
@@ -689,7 +689,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01o_complexPatterns_pass() throws Exception {
-		// @RestResource(roleGuard="fo* || (*ar && *az)")
+		// @Rest(roleGuard="fo* || (*ar && *az)")
 		c1h.get().roles("foo").execute().assertStatus(200);
 		c1h.get().roles("bar","baz").execute().assertStatus(200);
 		c1h.get().roles("foo","bar","baz").execute().assertStatus(200);
@@ -697,7 +697,7 @@ public class RoleGuardTest {
 
 	@Test
 	public void c01p_complexPatterns_fail() throws Exception {
-		// @RestResource(roleGuard="fo* || (*ar && *az)")
+		// @Rest(roleGuard="fo* || (*ar && *az)")
 		c1h.get().roles().execute().assertStatus(403);
 		c1h.get().roles("bar").execute().assertStatus(403);
 		c1h.get().roles("baz").execute().assertStatus(403);
@@ -707,7 +707,7 @@ public class RoleGuardTest {
 	// @RestMethod(roleGuard), pattern guards on method
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class C2a {
 		@RestMethod(roleGuard="fo*,*ar",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -715,7 +715,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2b {
 		@RestMethod(roleGuard="fo* | *ar",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -723,7 +723,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2c {
 		@RestMethod(roleGuard="fo* || *ar",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -731,7 +731,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2d {
 		@RestMethod(roleGuard="fo* & *ar",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -739,7 +739,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2e {
 		@RestMethod(roleGuard="fo* && *ar",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -747,7 +747,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2f {
 		@RestMethod(roleGuard="(fo*) && (*ar)",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -755,7 +755,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2g {
 		@RestMethod(roleGuard="fo* && (*ar || *az)",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -763,7 +763,7 @@ public class RoleGuardTest {
 		}
 	}
 
-	@RestResource
+	@Rest
 	public static class C2h {
 		@RestMethod(roleGuard="fo* || (*ar && *az)",rolesDeclared="foo,bar,baz")
 		public String get() {
@@ -913,7 +913,7 @@ public class RoleGuardTest {
 	// @RestMethod(roleGuard), pattern guards on method but no roles defined
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(roleGuard="fo*,*ar")
 		public String get() {
@@ -937,7 +937,7 @@ public class RoleGuardTest {
 	// @RestMethod(roleGuard), any role.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(rolesDeclared="foo,bar,baz")
+	@Rest(rolesDeclared="foo,bar,baz")
 	public static class E {
 		@RestMethod(roleGuard="*")
 		public String get() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/exceptions/BasicTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/exceptions/BasicTest.java
index 87e5a54..17c2804 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/exceptions/BasicTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/exceptions/BasicTest.java
@@ -32,7 +32,7 @@ public class BasicTest {
 	// Basic sanity tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod public void badRequest() { throw new BadRequest(); }
 		@RestMethod public void conflict() { throw new Conflict(); }
@@ -208,7 +208,7 @@ public class BasicTest {
 	// User-specified message
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod public void badRequest() { throw new BadRequest("foo {0}", "bar"); }
 		@RestMethod public void conflict() { throw new Conflict("foo {0}", "bar"); }
@@ -386,7 +386,7 @@ public class BasicTest {
 
 	static final Throwable t = new Throwable("foo");
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod public void badRequest() { throw new BadRequest(t); }
 		@RestMethod public void conflict() { throw new Conflict(t); }
@@ -562,7 +562,7 @@ public class BasicTest {
 	// Throwable with message
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod public void badRequest() { throw new BadRequest(t, "foo {0}", "bar"); }
 		@RestMethod public void conflict() { throw new Conflict(t, "foo {0}", "bar"); }
@@ -738,7 +738,7 @@ public class BasicTest {
 	// Should use Accept language for serialization.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class E {
 		@RestMethod public void badRequest() { throw new BadRequest(t, "foo {0}", "bar"); }
 	}
@@ -754,7 +754,7 @@ public class BasicTest {
 	// Test Swagger
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod public void badRequest() throws BadRequest {}
 		@RestMethod public void conflict() throws Conflict {}
@@ -963,7 +963,7 @@ public class BasicTest {
 	// Thrown object doesn't match return type.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod
 		public SeeOtherRoot thrownObjectDoesntMatchReturnType() throws Exception { throw new NotFound(); }
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptCharsetTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptCharsetTest.java
index 076b8fa..70b942c 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptCharsetTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptCharsetTest.java
@@ -37,7 +37,7 @@ public class AcceptCharsetTest {
 	// Test that Q-values are being resolved correctly.
 	//=================================================================================================================
 
-	@RestResource(defaultCharset="utf-8",serializers=PlainTextSerializer.class)
+	@Rest(defaultCharset="utf-8",serializers=PlainTextSerializer.class)
 	public static class A {
 		@RestMethod
 		public String qValues() {
@@ -65,7 +65,7 @@ public class AcceptCharsetTest {
 	// Validate various Accept-Charset variations.
 	//=================================================================================================================
 
-	@RestResource(defaultCharset="utf-8")
+	@Rest(defaultCharset="utf-8")
 	public static class B {
 
 		@RestMethod(name=PUT, parsers=TestParser.class, serializers=TestSerializer.class)
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptEncodingTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptEncodingTest.java
index 025e3b0..5e23957 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptEncodingTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptEncodingTest.java
@@ -46,7 +46,7 @@ public class AcceptEncodingTest {
 	// Test with no compression enabled.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String get() {
@@ -117,7 +117,7 @@ public class AcceptEncodingTest {
 	// Test with compression enabled.
 	//=================================================================================================================
 
-	@RestResource(encoders=MyEncoder.class)
+	@Rest(encoders=MyEncoder.class)
 	public static class B {
 		@RestMethod
 		public String b01() {
@@ -181,7 +181,7 @@ public class AcceptEncodingTest {
 	// Test with compression enabled but with servlet using output stream directly.
 	//=================================================================================================================
 
-	@RestResource(encoders=MyEncoder.class)
+	@Rest(encoders=MyEncoder.class)
 	@SuppressWarnings("resource")
 	public static class C {
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptTest.java
index 3d5f26a..1e497a5 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/AcceptTest.java
@@ -61,7 +61,7 @@ public class AcceptTest {
 	// Test that default Accept headers on servlet annotation are picked up.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 "},
 		serializers={S1.class,S2.class}
 	)
@@ -90,7 +90,7 @@ public class AcceptTest {
 	// when @RestMethod.parsers/serializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 "},
 		serializers={S1.class,S2.class}
 	)
@@ -122,7 +122,7 @@ public class AcceptTest {
 	// when @RestMethod.addParsers/addSerializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 "},
 		serializers={S1.class,S2.class}
 	)
@@ -156,7 +156,7 @@ public class AcceptTest {
 	// Various Accept incantations.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 "},
 		serializers={S1.class,S2.class}
 	)
@@ -194,7 +194,7 @@ public class AcceptTest {
 	// when @RestMethod.parsers/serializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 "},
 		serializers={S1.class,S2.class}
 	)
@@ -232,7 +232,7 @@ public class AcceptTest {
 	// 	when @RestMethod.addParsers/addSerializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Accept : text/s2 ",},
 		serializers={S1.class,S2.class}
 	)
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ClientVersionTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ClientVersionTest.java
index 856b5ce..bceefb9 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ClientVersionTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ClientVersionTest.java
@@ -20,7 +20,7 @@ import org.junit.*;
 import org.junit.runners.*;
 
 /**
- * Tests the @RestResource(clientVersion) attribute.
+ * Tests the @Rest(clientVersion) attribute.
  */
 @SuppressWarnings({})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -30,7 +30,7 @@ public class ClientVersionTest {
 	// Basic tests - default X-Client-Version header.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod(name=GET, path="/")
 		public String test0() {
@@ -73,7 +73,7 @@ public class ClientVersionTest {
 	// Basic tests - Custom-Client-Version header.
 	//=================================================================================================================
 
-	@RestResource(clientVersionHeader="Custom-Client-Version")
+	@Rest(clientVersionHeader="Custom-Client-Version")
 	public static class B {
 		@RestMethod(name=GET, path="/")
 		public String test0() {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentEncodingTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentEncodingTest.java
index 2bbe602..7e73e3b 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentEncodingTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentEncodingTest.java
@@ -44,7 +44,7 @@ public class ContentEncodingTest {
 	// Test with no compression enabled.
 	//=================================================================================================================
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod
 		public String put(@Body String in) {
@@ -73,7 +73,7 @@ public class ContentEncodingTest {
 	// Test with compression enabled.
 	//=================================================================================================================
 
-	@RestResource(encoders=MyEncoder.class)
+	@Rest(encoders=MyEncoder.class)
 	public static class B {
 		@RestMethod(name=PUT, path="/")
 		public String test1put(@Body String in) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentTypeTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentTypeTest.java
index ef5078b..55d82c8 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentTypeTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/ContentTypeTest.java
@@ -63,7 +63,7 @@ public class ContentTypeTest {
 	// Test that default Content-Type headers on servlet annotation are picked up.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Content-Type : text/p2 "},
 		parsers={P1.class,P2.class}
 	)
@@ -92,7 +92,7 @@ public class ContentTypeTest {
 	// when @RestMethod.parsers/serializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Content-Type : text/p2 "},
 		parsers={P1.class,P2.class}
 	)
@@ -136,7 +136,7 @@ public class ContentTypeTest {
 	// when @RestMethod.addParsers/addSerializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Content-Type : text/p2 "},
 		parsers={P1.class,P2.class}
 	)
@@ -171,7 +171,7 @@ public class ContentTypeTest {
 	// when @RestMethod.parsers/serializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Content-Type : text/p2 "},
 		parsers={P1.class,P2.class}
 	)
@@ -209,7 +209,7 @@ public class ContentTypeTest {
 	// 	when @RestMethod.addParsers/addSerializers annotations are used.
 	//=================================================================================================================
 
-	@RestResource(
+	@Rest(
 		defaultRequestHeaders={" Content-Type : text/p2 "},
 		parsers={P1.class,P2.class}
 	)
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/HeadersTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/HeadersTest.java
index 1a94039..689cbd4 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/HeadersTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/headers/HeadersTest.java
@@ -37,7 +37,7 @@ public class HeadersTest {
 	// HTTP 1.1 headers
 	//====================================================================================================
 
-	@RestResource(
+	@Rest(
 		serializers=AnythingSerializer.class,
 		parsers=AnythingParser.class,
 		encoders=AnythingEncoder.class,
@@ -411,7 +411,7 @@ public class HeadersTest {
 	// Custom header.
 	//====================================================================================================
 
-	@RestResource(
+	@Rest(
 		paramResolvers=CustomHeaderParam.class,
 		allowedHeaderParams="Custom"
 	)
@@ -457,7 +457,7 @@ public class HeadersTest {
 	// Default values - Default request headers
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod(defaultRequestHeaders={"H1:1","H2=2"," H3 : 3 "})
 		public ObjectMap c(RequestHeaders headers) {
@@ -486,7 +486,7 @@ public class HeadersTest {
 	// Default values - Default request headers, case-insensitive matching
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class D {
 		@RestMethod(defaultRequestHeaders={"H1:1","H2=2"," H3 : 3 "})
 		public ObjectMap d(RequestHeaders headers) {
@@ -515,7 +515,7 @@ public class HeadersTest {
 	// Default values - Annotated headers.
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class E {
 		@RestMethod
 		public ObjectMap e(@Header(name="H1") String h1, @Header("H2") String h2, @Header("H3") String h3) {
@@ -544,7 +544,7 @@ public class HeadersTest {
 	// Default values - Annotated headers, case-insensitive matching.
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class F {
 		@RestMethod
 		public ObjectMap f(@Header("h1") String h1, @Header("h2") String h2, @Header("h3") String h3) {
@@ -573,7 +573,7 @@ public class HeadersTest {
 	// Default values - Annotated headers with default values.
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class G {
 		@RestMethod
 		public ObjectMap g(@Header(name="h1",_default="1") String h1, @Header(name="h2",_default="2") String h2, @Header(name="h3",_default="3") String h3) {
@@ -598,7 +598,7 @@ public class HeadersTest {
 		g.get("/g").header("h1",4).header("h2",5).header("h3",6).execute().assertBody("{h1:'4',h2:'5',h3:'6'}");
 	}
 
-	@RestResource
+	@Rest
 	public static class GB {
 		@RestMethod
 		public ObjectMap g(@Header(value="h1",_default="1") String h1, @Header(value="h2",_default="2") String h2, @Header(value="h3",_default="3") String h3) {
@@ -627,7 +627,7 @@ public class HeadersTest {
 	// Default values - Annotated headers with default values and default request headers.
 	//====================================================================================================
 
-	@RestResource
+	@Rest
 	public static class H {
 		@RestMethod(defaultRequestHeaders={"H1:1","H2=2"," H3 : 3 "})
 		public ObjectMap h(@Header(value="h1",_default="4") String h1, @Header(value="h2",_default="5") String h2, @Header(value="h3",_default="6") String h3) {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/ReaderResourceTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/ReaderResourceTest.java
index 709a3f1..7e837b7 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/ReaderResourceTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/ReaderResourceTest.java
@@ -30,7 +30,7 @@ import org.junit.runners.*;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class ReaderResourceTest {
 
-	@RestResource
+	@Rest
 	public static class A {
 
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/StreamResourceTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/StreamResourceTest.java
index a5f7e9b..72bd172 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/StreamResourceTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/helper/StreamResourceTest.java
@@ -29,7 +29,7 @@ import org.junit.runners.*;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class StreamResourceTest {
 
-	@RestResource
+	@Rest
 	public static class A {
 
 		@RestMethod
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
index 04c14f4..4ee3fa8 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
@@ -34,7 +34,7 @@ public class BasicTest {
 	// Basic sanity tests
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class A {
 		@RestMethod public Accepted accepted() { return new Accepted(); }
 		@RestMethod public AlreadyReported alreadyReported() { return new AlreadyReported(); }
@@ -155,7 +155,7 @@ public class BasicTest {
 	// Statuses with URIs.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class B {
 		@RestMethod public MovedPermanently movedPermanently() { return new MovedPermanently(URI.create("servlet:/foo")); }
 		@RestMethod public PermanentRedirect permanentRedirect() { return new PermanentRedirect(URI.create("servlet:/foo")); }
@@ -186,7 +186,7 @@ public class BasicTest {
 	// Overridden messages
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource
+	@Rest
 	public static class C {
 		@RestMethod public Accepted accepted() { return new Accepted("foo"); }
 		@RestMethod public AlreadyReported alreadyReported() { return new AlreadyReported("foo"); }
@@ -307,7 +307,7 @@ public class BasicTest {
 	// Should use Accept language for serialization.
 	//-----------------------------------------------------------------------------------------------------------------
 
-	@RestResource(serializers=SimpleJsonSerializer.class)
+	@Rest(serializers=SimpleJsonSerializer.class)
 	public static class D {
 		@RestMethod public Accepted accepted() { return new Accepted("foo"); }
 	}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
index 3e1f98a..a9e7d2b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
@@ -30,7 +30,7 @@ import org.apache.juneau.http.exception.*;
  * 	<li class='link'>{@doc juneau-rest-server.Instantiation.BasicRest}
  * </ul>
  */
-@RestResource(
+@Rest(
 	// Allow OPTIONS requests to be simulated using ?method=OPTIONS query parameter.
 	allowedMethodParams="OPTIONS"
 )
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
index e24c14f..8a3f63a 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
@@ -39,7 +39,7 @@ import org.apache.juneau.xmlschema.XmlSchemaDocSerializer;
  * Classes that don't extend from {@link BasicRestServlet} can implement this interface to
  * be configured with the same serializers/parsers/etc... as {@link BasicRestServlet}.
  */
-@RestResource(
+@Rest(
 
 	// Default serializers for all Java methods in the class.
 	serializers={
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestGroup.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestGroup.java
index d8ac5b2..311cd81 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestGroup.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestGroup.java
@@ -26,7 +26,7 @@ import org.apache.juneau.rest.helper.*;
  * 	<li class='link'>{@doc juneau-rest-server.Instantiation.BasicRestGroup}
  * </ul>
  */
-@RestResource
+@Rest
 public abstract class BasicRestGroup extends BasicRest {
 
 	/**
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java
index 48c8c76..28034dd 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestInfoProvider.java
@@ -65,6 +65,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 			title,
 			description;
 
+		@SuppressWarnings("deprecation")
 		Builder(RestContext context) {
 			ClassInfo ci = ClassInfo.of(context.getResource().getClass());
 			for (RestResource r : ci.getAnnotationsParentFirst(RestResource.class)) {
@@ -75,6 +76,14 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 				if (r.description().length > 0)
 					description = joinnl(r.description());
 			}
+			for (Rest r : ci.getAnnotationsParentFirst(Rest.class)) {
+				if (! r.siteName().isEmpty())
+					siteName = r.siteName();
+				if (r.title().length > 0)
+					title = joinnl(r.title());
+				if (r.description().length > 0)
+					description = joinnl(r.description());
+			}
 		}
 	}
 
@@ -138,7 +147,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * 	<ja>@RestMethod</ja>(summary=<js>"$L{myLocalizedSummary}"</js>)
 	 * 	<jk>public</jk> Object myMethod() {...}
 	 * 		</p>
-	 * 	<li>Localized string from resource bundle identified by {@link RestResource#messages() @RestResource(messages)}
+	 * 	<li>Localized string from resource bundle identified by {@link Rest#messages() @Rest(messages)}
 	 * 		on the resource class, then any parent classes.
 	 * 		<ol>
 	 * 			<li><ck>[ClassName].[javaMethodName].summary</ck>
@@ -194,7 +203,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * 	<ja>@RestMethod</ja>(description=<js>"$L{myLocalizedDescription}"</js>)
 	 * 	<jk>public</jk> Object myMethod() {...}
 	 * 		</p>
-	 * 	<li>Localized string from resource bundle identified by {@link RestResource#messages() @RestResource(messages)}
+	 * 	<li>Localized string from resource bundle identified by {@link Rest#messages() @Rest(messages)}
 	 * 		on the resource class, then any parent classes.
 	 * 		<ol>
 	 * 			<li><ck>[ClassName].[javaMethodName].description</ck>
@@ -239,7 +248,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * <p>
 	 * The default implementation returns the value from the following locations (whichever matches first):
 	 * <ol class='spaced-list'>
-	 * 	<li>{@link RestResource#siteName() @RestResource(siteName)} annotation on this class, and then any parent classes.
+	 * 	<li>{@link Rest#siteName() @Rest(siteName)} annotation on this class, and then any parent classes.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<jc>// Direct value</jc>
@@ -250,13 +259,13 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * 	<ja>@RestResource</ja>(siteName=<js>"$L{myLocalizedSiteName}"</js>)
 	 * 	<jk>public class</jk> MyResource {...}
 	 * 		</p>
-	 * 	<li>Localized strings from resource bundle identified by {@link RestResource#messages() @RestResource(messages)}
+	 * 	<li>Localized strings from resource bundle identified by {@link Rest#messages() @Rest(messages)}
 	 * 		on the resource class, then any parent classes.
 	 * 		<ol>
 	 * 			<li><ck>[ClassName].siteName</ck>
 	 * 			<li><ck>siteName</ck>
 	 * 		</ol>
-	 * 		<br>Value can contain any SVL variables defined on the {@link RestResource#siteName() @RestResource(siteName)} annotation.
+	 * 		<br>Value can contain any SVL variables defined on the {@link Rest#siteName() @Rest(siteName)} annotation.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<cc>// Direct value</cc>
@@ -291,7 +300,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * <p>
 	 * The default implementation returns the value from the following locations (whichever matches first):
 	 * <ol class='spaced-list'>
-	 * 	<li>{@link RestResource#title() @RestResource(siteName)} annotation on this class, and then any parent classes.
+	 * 	<li>{@link Rest#title() @Rest(siteName)} annotation on this class, and then any parent classes.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<jc>// Direct value</jc>
@@ -302,13 +311,13 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * 	<ja>@RestResource</ja>(title=<js>"$L{myLocalizedTitle}"</js>)
 	 * 	<jk>public class</jk> MyResource {...}
 	 * 		</p>
-	 * 	<li>Localized strings from resource bundle identified by {@link RestResource#messages() @RestResource(messages)}
+	 * 	<li>Localized strings from resource bundle identified by {@link Rest#messages() @Rest(messages)}
 	 * 		on the resource class, then any parent classes.
 	 * 		<ol>
 	 * 			<li><ck>[ClassName].title</ck>
 	 * 			<li><ck>title</ck>
 	 * 		</ol>
-	 * 		<br>Value can contain any SVL variables defined on the {@link RestResource#title() @RestResource(title)} annotation.
+	 * 		<br>Value can contain any SVL variables defined on the {@link Rest#title() @Rest(title)} annotation.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<cc>// Direct value</cc>
@@ -344,7 +353,7 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * <p>
 	 * The default implementation returns the value from the following locations (whichever matches first):
 	 * <ol class='spaced-list'>
-	 * 	<li>{@link RestResource#description() @RestResource(description)} annotation on this class, and then any parent classes.
+	 * 	<li>{@link Rest#description() @Rest(description)} annotation on this class, and then any parent classes.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<jc>// Direct value</jc>
@@ -355,13 +364,13 @@ public class BasicRestInfoProvider implements RestInfoProvider {
 	 * 	<ja>@RestResource</ja>(description=<js>"$L{myLocalizedDescription}"</js>)
 	 * 	<jk>public class</jk> MyResource {...}
 	 * 		</p>
-	 * 	<li>Localized strings from resource bundle identified by {@link RestResource#messages() @RestResource(messages)}
+	 * 	<li>Localized strings from resource bundle identified by {@link Rest#messages() @Rest(messages)}
 	 * 		on the resource class, then any parent classes.
 	 * 		<ol>
 	 * 			<li><ck>[ClassName].description</ck>
 	 * 			<li><ck>description</ck>
 	 * 		</ol>
-	 * 		<br>Value can contain any SVL variables defined on the {@link RestResource#description() @RestResource(description)} annotation.
+	 * 		<br>Value can contain any SVL variables defined on the {@link Rest#description() @Rest(description)} annotation.
 	 * 		<h5 class='figure'>Examples:</h5>
 	 * 		<p class='bcode w800'>
 	 * 	<cc>// Direct value</cc>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
index ab77e8d..4b3011f 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
@@ -132,8 +132,8 @@ import org.apache.juneau.xml.*;
  *
  * <p>
  * The list of serializers and parsers can be appended to using the
- * {@link RestResource#serializers() @RestResource(serializers)} and
- * {@link RestResource#parsers() @RestResource(parsers)} annotations on subclasses.
+ * {@link Rest#serializers() @Rest(serializers)} and
+ * {@link Rest#parsers() @Rest(parsers)} annotations on subclasses.
  *
  * <p>
  * This subclass also provides a default OPTIONS page by implementing a {@link #getOptions(RestRequest)} that returns a
@@ -148,7 +148,7 @@ import org.apache.juneau.xml.*;
  * 		to <js>"styles/juneau.css"</js>.
  * 	<li>
  * 		Provides a default classpath entry "htdocs" by setting
- * 		{@link RestResource#staticFiles() @RestResource(staticFiles)} to <code>{<js>"htdocs:htdocs"</js>,<js>"styles:styles"</js>}</code>.
+ * 		{@link Rest#staticFiles() @Rest(staticFiles)} to <code>{<js>"htdocs:htdocs"</js>,<js>"styles:styles"</js>}</code>.
  * 		This allows files inside the <c>[servletPackage].htdocs</c> package to be served up under the URL
  * 		<c>/servletPath/htdocs</c>.
  * </ul>
@@ -157,7 +157,7 @@ import org.apache.juneau.xml.*;
  * 	<li class='link'>{@doc juneau-rest-server.Instantiation.BasicRestServlet}
  * </ul>
  */
-@RestResource(
+@Rest(
 	// Allow OPTIONS requests to be simulated using ?method=OPTIONS query parameter.
 	allowedMethodParams="OPTIONS"
 )
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java
index 9705870..bbd9c1d 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServletGroup.java
@@ -25,13 +25,13 @@ import org.apache.juneau.rest.helper.*;
  * They're meant to be used as jumping-off points for child resources.
  *
  * <p>
- * Child resources are specified using the {@link RestResource#children() @RestResource(children)} annotation.
+ * Child resources are specified using the {@link Rest#children() @Rest(children)} annotation.
  *
  * <ul class='seealso'>
  * 	<li class='link'>{@doc juneau-rest-server.Instantiation.BasicRestServletGroup}
  * </ul>
  */
-@RestResource
+@Rest
 public abstract class BasicRestServletGroup extends BasicRestServlet {
 	private static final long serialVersionUID = 1L;
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
index 04e49eb..5c18cae 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
@@ -30,7 +30,7 @@ import org.apache.juneau.rest.reshandlers.*;
  * <p>
  * Response handlers can be associated with REST resources via the following:
  * <ul>
- * 	<li class='ja'>{@link RestResource#responseHandlers}
+ * 	<li class='ja'>{@link Rest#responseHandlers}
  * 	<li class='jm'>{@link RestContextBuilder#responseHandlers(Class...)}
  * 	<li class='jm'>{@link RestContextBuilder#responseHandlers(ResponseHandler...)}
  * </ul>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index c44ab14..7aa67cb 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -101,7 +101,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#allowBodyParam()}
+	 * 			<li class='ja'>{@link Rest#allowBodyParam()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -163,7 +163,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#allowedHeaderParams()}
+	 * 			<li class='ja'>{@link Rest#allowedHeaderParams()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -230,7 +230,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#allowedMethodHeaders()}
+	 * 			<li class='ja'>{@link Rest#allowedMethodHeaders()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -294,7 +294,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#allowedMethodParams()}
+	 * 			<li class='ja'>{@link Rest#allowedMethodParams()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -369,7 +369,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#allowHeaderParams()}
+	 * 			<li class='ja'>{@link Rest#allowHeaderParams()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -433,7 +433,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#callHandler()}
+	 * 			<li class='ja'>{@link Rest#callHandler()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -522,7 +522,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#callLogger()}
+	 * 			<li class='ja'>{@link Rest#callLogger()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -585,7 +585,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#logging()}
+	 * 			<li class='ja'>{@link Rest#logging()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -661,7 +661,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#children()}
+	 * 			<li class='ja'>{@link Rest#children()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -684,7 +684,7 @@ public final class RestContext extends BeanContext {
 	 * large numbers of servlets.
 	 *
 	 * <p>
-	 * Child resources must specify a value for {@link RestResource#path() @RestResource(path)} that identifies the subpath of the child resource
+	 * Child resources must specify a value for {@link Rest#path() @Rest(path)} that identifies the subpath of the child resource
 	 * relative to the ascendant path UNLESS you use the {@link RestContextBuilder#child(String, Object)} method to register it.
 	 *
 	 * <p>
@@ -772,7 +772,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#classpathResourceFinder()}
+	 * 			<li class='ja'>{@link Rest#classpathResourceFinder()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -873,7 +873,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#clientVersionHeader()}
+	 * 			<li class='ja'>{@link Rest#clientVersionHeader()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -946,7 +946,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#converters()}
+	 * 			<li class='ja'>{@link Rest#converters()}
 	 * 			<li class='ja'>{@link RestMethod#converters()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1038,7 +1038,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#debug()}
+	 * 			<li class='ja'>{@link Rest#debug()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1067,7 +1067,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#defaultCharset()}
+	 * 			<li class='ja'>{@link Rest#defaultCharset()}
 	 * 			<li class='ja'>{@link RestMethod#defaultCharset()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1122,7 +1122,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#attrs()}
+	 * 			<li class='ja'>{@link Rest#attrs()}
 	 * 			<li class='ja'>{@link RestMethod#attrs()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1190,7 +1190,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#defaultRequestHeaders()}
+	 * 			<li class='ja'>{@link Rest#defaultRequestHeaders()}
 	 * 			<li class='ja'>{@link RestMethod#defaultRequestHeaders()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1257,7 +1257,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#defaultResponseHeaders()}
+	 * 			<li class='ja'>{@link Rest#defaultResponseHeaders()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1321,7 +1321,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#encoders()}
+	 * 			<li class='ja'>{@link Rest#encoders()}
 	 * 			<li class='ja'>{@link RestMethod#encoders()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1391,7 +1391,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#guards()}
+	 * 			<li class='ja'>{@link Rest#guards()}
 	 * 			<li class='ja'>{@link RestMethod#guards()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1474,7 +1474,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#infoProvider()}
+	 * 			<li class='ja'>{@link Rest#infoProvider()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1562,7 +1562,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#logger()}
+	 * 			<li class='ja'>{@link Rest#logger()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1641,7 +1641,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#maxInput()}
+	 * 			<li class='ja'>{@link Rest#maxInput()}
 	 * 			<li class='ja'>{@link RestMethod#maxInput()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -1706,7 +1706,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#messages()}
+	 * 			<li class='ja'>{@link Rest#messages()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1791,7 +1791,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#mimeTypes()}
+	 * 			<li class='ja'>{@link Rest#mimeTypes()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1858,7 +1858,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#paramResolvers()}
+	 * 			<li class='ja'>{@link Rest#paramResolvers()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1947,7 +1947,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#parsers()}
+	 * 			<li class='ja'>{@link Rest#parsers()}
 	 * 			<li class='ja'>{@link RestMethod#parsers()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -2040,7 +2040,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#partParser()}
+	 * 			<li class='ja'>{@link Rest#partParser()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2107,7 +2107,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#partSerializer()}
+	 * 			<li class='ja'>{@link Rest#partSerializer()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2179,7 +2179,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#path()}
+	 * 			<li class='ja'>{@link Rest#path()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2225,7 +2225,7 @@ public final class RestContext extends BeanContext {
 	 * 		<br>Therefore, implementers can optionally specify a path value for documentation purposes.
 	 * 	<li>
 	 * 		Typically, this setting is only applicable to resources defined as children through the
-	 * 		{@link RestResource#children() @RestResource(children)} annotation.
+	 * 		{@link Rest#children() @Rest(children)} annotation.
 	 * 		<br>However, it may be used in other ways (e.g. defining paths for top-level resources in microservices).
 	 * 	<li>
 	 * 		Slashes are trimmed from the path ends.
@@ -2250,7 +2250,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#renderResponseStackTraces()}
+	 * 			<li class='ja'>{@link Rest#renderResponseStackTraces()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2312,7 +2312,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#resourceResolver()}
+	 * 			<li class='ja'>{@link Rest#resourceResolver()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2398,7 +2398,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#responseHandlers()}
+	 * 			<li class='ja'>{@link Rest#responseHandlers()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2491,7 +2491,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#rolesDeclared()}
+	 * 			<li class='ja'>{@link Rest#rolesDeclared()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2535,7 +2535,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#roleGuard()}
+	 * 			<li class='ja'>{@link Rest#roleGuard()}
 	 * 			<li class='ja'>{@link RestMethod#roleGuard()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -2579,7 +2579,7 @@ public final class RestContext extends BeanContext {
 	 * 	<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 {@link RestResource#rolesDeclared()} or {@link RestContext#REST_rolesDeclared}.
+	 * 		If patterns are used, you must specify the list of declared roles using {@link Rest#rolesDeclared()} or {@link RestContext#REST_rolesDeclared}.
 	 * 	<li>
 	 * 		Supports {@doc DefaultRestSvlVariables}
 	 * 		(e.g. <js>"$L{my.localized.variable}"</js>).
@@ -2604,7 +2604,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#serializers()}
+	 * 			<li class='ja'>{@link Rest#serializers()}
 	 * 			<li class='ja'>{@link RestMethod#serializers()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -2706,7 +2706,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#staticFileResponseHeaders()}
+	 * 			<li class='ja'>{@link Rest#staticFileResponseHeaders()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2755,7 +2755,7 @@ public final class RestContext extends BeanContext {
 	 * </p>
 	 *
 	 * <p>
-	 * Note that headers can also be specified per path-mapping via the {@link RestResource#staticFiles() @RestResource(staticFiles)} annotation.
+	 * Note that headers can also be specified per path-mapping via the {@link Rest#staticFiles() @Rest(staticFiles)} annotation.
 	 * <p class='bcode w800'>
 	 * 	<ja>@RestResource</ja>(
 	 * 		staticFiles={
@@ -2781,7 +2781,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#staticFiles()}
+	 * 			<li class='ja'>{@link Rest#staticFiles()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2806,7 +2806,7 @@ public final class RestContext extends BeanContext {
 	 * </ol>
 	 *
 	 * <p>
-	 * An example where this class is used is in the {@link RestResource#staticFiles} annotation:
+	 * An example where this class is used is in the {@link Rest#staticFiles} annotation:
 	 * <p class='bcode w800'>
 	 * 	<jk>package</jk> com.foo.mypackage;
 	 *
@@ -2901,7 +2901,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#produces()}
+	 * 			<li class='ja'>{@link Rest#produces()}
 	 * 			<li class='ja'>{@link RestMethod#produces()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -2964,8 +2964,8 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#properties()}
-	 * 			<li class='ja'>{@link RestResource#flags()}
+	 * 			<li class='ja'>{@link Rest#properties()}
+	 * 			<li class='ja'>{@link Rest#flags()}
 	 * 			<li class='ja'>{@link RestMethod#properties()}
 	 * 			<li class='ja'>{@link RestMethod#flags()}
 	 * 		</ul>
@@ -3010,7 +3010,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#consumes()}
+	 * 			<li class='ja'>{@link Rest#consumes()}
 	 * 			<li class='ja'>{@link RestMethod#consumes()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
@@ -3073,7 +3073,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#useClasspathResourceCaching()}
+	 * 			<li class='ja'>{@link Rest#useClasspathResourceCaching()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -3127,7 +3127,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#useStackTraceHashes()}
+	 * 			<li class='ja'>{@link Rest#useStackTraceHashes()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -3187,7 +3187,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#uriAuthority()}
+	 * 			<li class='ja'>{@link Rest#uriAuthority()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -3257,7 +3257,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#uriContext()}
+	 * 			<li class='ja'>{@link Rest#uriContext()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -3320,7 +3320,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#uriRelativity()}
+	 * 			<li class='ja'>{@link Rest#uriRelativity()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -3381,7 +3381,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link RestResource#uriResolution()}
+	 * 			<li class='ja'>{@link Rest#uriResolution()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -4115,7 +4115,7 @@ public final class RestContext extends BeanContext {
 	 * <p>
 	 * The config file is identified via one of the following:
 	 * <ul class='javatree'>
-	 * 	<li class='ja'>{@link RestResource#config()}
+	 * 	<li class='ja'>{@link Rest#config()}
 	 * 	<li class='jm'>{@link RestContextBuilder#config(Config)}
 	 * </ul>
 	 *
@@ -4417,7 +4417,7 @@ public final class RestContext extends BeanContext {
 	}
 
 	/**
-	 * Returns the path for this resource as defined by the {@link RestResource#path() @RestResource(path)} annotation or
+	 * Returns the path for this resource as defined by the {@link Rest#path() @Rest(path)} annotation or
 	 * {@link RestContextBuilder#path(String)} method concatenated with those on all parent classes.
 	 *
 	 * <p>
@@ -4538,7 +4538,7 @@ public final class RestContext extends BeanContext {
 	 * Returns the resource object.
 	 *
 	 * <p>
-	 * This is the instance of the class annotated with the {@link RestResource @RestResource} annotation, usually
+	 * This is the instance of the class annotated with the {@link Rest @Rest} annotation, usually
 	 * an instance of {@link RestServlet}.
 	 *
 	 * @return
@@ -4589,7 +4589,7 @@ public final class RestContext extends BeanContext {
 	 * <p>
 	 * Properties at the class level are defined via the following:
 	 * <ul class='javatree'>
-	 * 	<li class='ja'>{@link RestResource#properties()}
+	 * 	<li class='ja'>{@link Rest#properties()}
 	 * 	<li class='jm'>{@link RestContextBuilder#set(String, Object)}
 	 * 	<li class='jm'>{@link RestContextBuilder#set(Map)}
 	 * </ul>
@@ -4621,7 +4621,7 @@ public final class RestContext extends BeanContext {
 	 *
 	 * @return
 	 * 	An unmodifiable map of child resources.
-	 * 	Keys are the {@link RestResource#path() @RestResource(path)} annotation defined on the child resource.
+	 * 	Keys are the {@link Rest#path() @Rest(path)} annotation defined on the child resource.
 	 */
 	public Map<String,RestContext> getChildResources() {
 		return Collections.unmodifiableMap(childResources);
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index ba152c6..1a981e1 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -138,12 +138,16 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 			VarResolver vr = varResolverBuilder.build();
 
 			List<AnnotationInfo<RestResource>> restResourceAnnotationsParentFirst = rci.getAnnotationInfosParentFirst(RestResource.class);
+			List<AnnotationInfo<Rest>> restAnnotationsParentFirst = rci.getAnnotationInfosParentFirst(Rest.class);
 
 			// Find our config file.  It's the last non-empty @RestResource(config).
 			String configPath = "";
 			for (AnnotationInfo<RestResource> r : restResourceAnnotationsParentFirst)
 				if (! r.getAnnotation().config().isEmpty())
 					configPath = r.getAnnotation().config();
+			for (AnnotationInfo<Rest> r : restAnnotationsParentFirst)
+				if (! r.getAnnotation().config().isEmpty())
+					configPath = r.getAnnotation().config();
 			String cf = vr.resolve(configPath);
 
 			if ("SYSTEM_DEFAULT".equals(cf))
@@ -174,13 +178,19 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 			// Load stuff from parent-to-child order.
 			// This allows child settings to overwrite parent settings.
 			for (AnnotationInfo<RestResource> e : restResourceAnnotationsParentFirst) {
-
 				RestResource r = e.getAnnotation();
 				for (Property p : r.properties())
 					set(vr.resolve(p.name()), vr.resolve(p.value()));
 				for (String p : r.flags())
 					set(p, true);
 			}
+			for (AnnotationInfo<Rest> e : restAnnotationsParentFirst) {
+				Rest r = e.getAnnotation();
+				for (Property p : r.properties())
+					set(vr.resolve(p.name()), vr.resolve(p.value()));
+				for (String p : r.flags())
+					set(p, true);
+			}
 
 		} catch (Exception e) {
 			throw new ServletException(e);
@@ -288,7 +298,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * Overwrites the default config file with a custom config file.
 	 *
 	 * <p>
-	 * By default, the config file is determined using the {@link RestResource#config() @RestResource(config)}
+	 * By default, the config file is determined using the {@link Rest#config() @Rest(config)}
 	 * annotation.
 	 * This method allows you to programmatically override it with your own custom config file.
 	 *
@@ -318,7 +328,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * Returns the external configuration file for this resource.
 	 *
 	 * <p>
-	 * The configuration file location is determined via the {@link RestResource#config() @RestResource(config)}
+	 * The configuration file location is determined via the {@link Rest#config() @Rest(config)}
 	 * annotation on the resource.
 	 *
 	 * <p>
@@ -340,7 +350,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * Returns the configuration properties for this resource.
 	 *
 	 * <p>
-	 * The configuration properties are determined via the {@link RestResource#properties() @RestResource(properties)} annotation on the resource.
+	 * The configuration properties are determined via the {@link Rest#properties() @Rest(properties)} annotation on the resource.
 	 *
 	 * <p>
 	 * The configuration properties can be augmented programmatically by adding the following method to your resource:
@@ -667,7 +677,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * Shortcut for adding a single child to this resource.
 	 *
 	 * <p>
-	 * This can be used for resources that don't have a {@link RestResource#path() @RestResource(path)} annotation.
+	 * This can be used for resources that don't have a {@link Rest#path() @Rest(path)} annotation.
 	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link RestContext#REST_children}
@@ -1641,7 +1651,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<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 {@link RestResource#rolesDeclared()} or {@link RestContext#REST_rolesDeclared}.
+	 * 		If patterns are used, you must specify the list of declared roles using {@link Rest#rolesDeclared()} or {@link RestContext#REST_rolesDeclared}.
 	 * 	<li>
 	 * 		Supports {@doc DefaultRestSvlVariables}
 	 * 		(e.g. <js>"$L{my.localized.variable}"</js>).
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextProperties.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextProperties.java
index 5519b69..10757f2 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextProperties.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextProperties.java
@@ -23,7 +23,7 @@ import org.apache.juneau.rest.annotation.*;
  * <p>
  * These are properties specified on a REST resource class through the following:
  * <ul class='javatree'>
- * 	<li class='ja'>{@link RestResource#properties()}
+ * 	<li class='ja'>{@link Rest#properties()}
  * 	<li class='jm'>{@link RestContextBuilder#set(String, Object)}
  * 	<li class='jm'>{@link RestContextBuilder#set(Map)}
  * </ul>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
index d308663..338d604 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
@@ -27,7 +27,7 @@ import org.apache.juneau.serializer.*;
  * <p>
  * Converters are associated with REST methods through the following:
  * <ul class='javatree'>
- * 	<li class='ja'>{@link RestResource#converters()}
+ * 	<li class='ja'>{@link Rest#converters()}
  * 	<li class='ja'>{@link RestMethod#converters()}
  * 	<li class='jf'>{@link RestContext#REST_converters}
  * 	<li class='jm'>{@link RestContextBuilder#converters(Class...)}
@@ -48,7 +48,7 @@ import org.apache.juneau.serializer.*;
  * </p>
  *
  * <p>
- * Converters can also be associated at the servlet level using the {@link RestResource#converters() @RestResource(converters)} annotation.
+ * Converters can also be associated at the servlet level using the {@link Rest#converters() @Rest(converters)} annotation.
  * <br>Applying converters at the resource level is equivalent to applying converters to each resource method individually.
  *
  * <h5 class='topic'>How to implement</h5>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
index 795e19d..ddb8c45 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
@@ -181,7 +181,7 @@ public class RestException extends RuntimeException {
 	 * Returns the number of times this exception occurred on this servlet.
 	 *
 	 * @return
-	 * 	The occurrence number if {@link RestResource#useStackTraceHashes() @RestResource(useStackTraceHashes)} is enabled, or <c>0</c> otherwise.
+	 * 	The occurrence number if {@link Rest#useStackTraceHashes() @Rest(useStackTraceHashes)} is enabled, or <c>0</c> otherwise.
 	 * @deprecated Not used by new logging API.
 	 */
 	@Deprecated
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
index cf11cbf..3b8c3e1 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
@@ -25,7 +25,7 @@ import org.apache.juneau.http.exception.*;
  * For example, guards can be used to ensure that only administrators can call certain methods.
  *
  * <p>
- * Guards are applied to REST methods declaratively through the {@link RestResource#guards() @RestResource(guards)} or
+ * Guards are applied to REST methods declaratively through the {@link Rest#guards() @Rest(guards)} or
  * {@link RestMethod#guards() @RestMethod(guards)} annotations.
  *
  * <p>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
index 68fc806..8fa25a4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
@@ -125,7 +125,7 @@ public class RestMethodContext extends BeanContext implements Comparable<RestMet
 	 *
 	 * <p>
 	 * The client version is identified via the HTTP request header identified by
-	 * {@link RestResource#clientVersionHeader() @RestResource(clientVersionHeader)} which by default is <js>"X-Client-Version"</js>.
+	 * {@link Rest#clientVersionHeader() @Rest(clientVersionHeader)} which by default is <js>"X-Client-Version"</js>.
 	 *
 	 * <p>
 	 * This is a specialized kind of {@link RestMatcher} that allows you to invoke different Java methods for the same
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 5f6e3a7..a7cfcf0 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -246,7 +246,7 @@ public final class RestRequest extends HttpServletRequestWrapper {
 	 * <p>
 	 * This contains all resource and method level properties from the following:
 	 * <ul class='javatree'>
-	 * 	<li class='ja'>{@link RestResource#properties()}
+	 * 	<li class='ja'>{@link Rest#properties()}
 	 * 	<li class='ja'>{@link RestMethod#properties()}
 	 * 	<li class='jm'>{@link RestContextBuilder#set(String, Object)}
 	 * </ul>
@@ -1539,7 +1539,7 @@ public final class RestRequest extends HttpServletRequestWrapper {
 	 *
 	 * The config file is identified via one of the following:
 	 * <ul class='javatree'>
-	 * 	<li class='ja'>{@link RestResource#config()}
+	 * 	<li class='ja'>{@link Rest#config()}
 	 * 	<li class='jm'>{@link RestContextBuilder#config(Config)}
 	 * </ul>
 	 *
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResourceResolver.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
index 8102894..a6b10a6 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResourceResolver.java
@@ -19,13 +19,13 @@ import org.apache.juneau.rest.annotation.*;
  * Class used to resolve {@link Class} objects to instances.
  *
  * <p>
- * Used to convert classes defined via {@link RestResource#children() @RestResource(children)} into child instances.
+ * Used to convert classes defined via {@link Rest#children() @Rest(children)} into child instances.
  *
  * <p>
  * Subclasses can be created to provide customized resource resolution.
  * These can be associated with REST resources in one of the following ways:
  * <ul>
- * 	<li>{@link RestResource#resourceResolver() @RestResource(resourceResolver)} annotation.
+ * 	<li>{@link Rest#resourceResolver() @Rest(resourceResolver)} annotation.
  * 	<li>{@link RestContextBuilder#resourceResolver(Class)}/{@link RestContextBuilder#resourceResolver(RestResourceResolver)}
  * 		methods.
  * </ul>
@@ -61,7 +61,7 @@ public interface RestResourceResolver extends ResourceResolver {
 	 * The default implementation simply creates a new class instance using {@link Class#newInstance()}.
 	 *
 	 * @param parent
-	 * 	The parent resource (i.e. the instance whose class has the {@link RestResource#children() @RestResource(children)} annotation.
+	 * 	The parent resource (i.e. the instance whose class has the {@link Rest#children() @Rest(children)} annotation.
 	 * @param c The class to resolve.
 	 * @param builder The initialization configuration for the resource.
 	 * @param args Optional arguments to pass to constructor
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index 47e38d0..e182d46 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -252,7 +252,7 @@ public final class RestResponse extends HttpServletResponseWrapper {
 	 * <p>
 	 * This contains all resource and method level properties from the following:
 	 * <ul class='javatree'>
-	 * 	<li class='ja'>{@link RestResource#properties()}
+	 * 	<li class='ja'>{@link Rest#properties()}
 	 * 	<li class='ja'>{@link RestMethod#properties()}
 	 * 	<li class='jm'>{@link RestContextBuilder#set(String, Object)}
 	 * </ul>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
index 6a9443f..7a15ba8 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
@@ -107,14 +107,18 @@ public abstract class RestServlet extends HttpServlet {
 	}
 
 	/**
-	 * Returns the path defined on this servlet if it's defined via {@link RestResource#path()}.
+	 * Returns the path defined on this servlet if it's defined via {@link Rest#path()}.
 	 *
 	 * @return The path defined on this servlet, or an empty string if not specified.
 	 */
+	@SuppressWarnings("deprecation")
 	public synchronized String getPath() {
 		if (context != null)
 			return context.getPath();
 		ClassInfo ci = ClassInfo.of(getClass());
+		for (Rest rr : ci.getAnnotations(Rest.class))
+			if (! rr.path().isEmpty())
+				return trimSlashes(rr.path());
 		for (RestResource rr : ci.getAnnotations(RestResource.class))
 			if (! rr.path().isEmpty())
 				return trimSlashes(rr.path());
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
index 8b5f177..2d0a621 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/StaticFileMapping.java
@@ -33,7 +33,7 @@ import org.apache.juneau.utils.*;
  * Used to define paths and locations of statically-served files such as images or HTML documents.
  *
  * <p>
- * An example where this class is used is in the {@link RestResource#staticFiles} annotation:
+ * An example where this class is used is in the {@link Rest#staticFiles} annotation:
  * <p class='bcode w800'>
  * <jk>package</jk> com.foo.mypackage;
  *
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
index ca67de5..8011678 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
@@ -97,6 +97,7 @@ final class SwaggerGenerator {
 	 * 	<br>Never <jk>null</jk>.
 	 * @throws Exception Error occurred.
 	 */
+	@SuppressWarnings("deprecation")
 	public Swagger getSwagger() throws Exception {
 
 		ClassInfo rci = ClassInfo.of(resource.getClass());
@@ -165,6 +166,62 @@ final class SwaggerGenerator {
 			);
 		}
 
+		// Combine it with @Rest(swagger)
+		for (Rest rr : rci.getAnnotationsParentFirst(Rest.class)) {
+
+			ObjectMap sInfo = omSwagger.getObjectMap("info", true);
+			sInfo.appendSkipEmpty("title",
+				firstNonEmpty(
+					sInfo.getString("title"),
+					resolve(rr.title())
+				)
+			);
+			sInfo.appendSkipEmpty("description",
+				firstNonEmpty(
+					sInfo.getString("description"),
+					resolve(rr.description())
+				)
+			);
+
+			ResourceSwagger r = rr.swagger();
+
+			omSwagger.appendAll(parseMap(r.value(), "@ResourceSwagger(value) on class {0}", c));
+
+			if (! empty(r)) {
+				ObjectMap info = omSwagger.getObjectMap("info", true);
+				info.appendSkipEmpty("title", resolve(r.title()));
+				info.appendSkipEmpty("description", resolve(r.description()));
+				info.appendSkipEmpty("version", resolve(r.version()));
+				info.appendSkipEmpty("termsOfService", resolve(r.termsOfService()));
+				info.appendSkipEmpty("contact",
+					merge(
+						info.getObjectMap("contact"),
+						toMap(r.contact(), "@ResourceSwagger(contact) on class {0}", c)
+					)
+				);
+				info.appendSkipEmpty("license",
+					merge(
+						info.getObjectMap("license"),
+						toMap(r.license(), "@ResourceSwagger(license) on class {0}", c)
+					)
+				);
+			}
+
+			omSwagger.appendSkipEmpty("externalDocs",
+				merge(
+					omSwagger.getObjectMap("externalDocs"),
+					toMap(r.externalDocs(), "@ResourceSwagger(externalDocs) on class {0}", c)
+				)
+			);
+			omSwagger.appendSkipEmpty("tags",
+				merge(
+					omSwagger.getObjectList("tags"),
+					toList(r.tags(), "@ResourceSwagger(tags) on class {0}", c)
+				)
+			);
+		}
+
+
 		omSwagger.appendSkipEmpty("externalDocs", parseMap(mb.findFirstString(locale, "externalDocs"), "Messages/externalDocs on class {0}", c));
 
 		ObjectMap info = omSwagger.getObjectMap("info", true);
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
index 8be7be4..0c751bc 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
@@ -21,7 +21,7 @@ import org.apache.juneau.rest.widget.*;
  * Contains all the configurable annotations for the {@link HtmlDocSerializer}.
  *
  * <p>
- * Used with {@link RestResource#htmldoc() @RestResource(htmldoc)} and {@link RestMethod#htmldoc() @RestMethod(htmldoc)}
+ * Used with {@link Rest#htmldoc() @Rest(htmldoc)} and {@link RestMethod#htmldoc() @RestMethod(htmldoc)}
  * to customize the HTML view of serialized POJOs.
  *
  * <p>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Logging.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Logging.java
index add166d..2de9a7e 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Logging.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Logging.java
@@ -20,7 +20,7 @@ import org.apache.juneau.rest.*;
  * Configures the {@link RestCallLogger} used by REST classes and methods.
  *
  * <p>
- * This annotation can be used on the {@link RestResource#logging()} and {@link RestMethod#logging()} annotations
+ * This annotation can be used on the {@link Rest#logging()} and {@link RestMethod#logging()} annotations
  * to control how and when HTTP requests are logged and at what level of detail.
  *
  * <h5 class='section'>Example:</h5>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/LoggingRule.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/LoggingRule.java
index 95c2c49..c075f55 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/LoggingRule.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/LoggingRule.java
@@ -57,7 +57,7 @@ public @interface LoggingRule {
 	 * Allows you to tailor logging on debug requests.
 	 *
 	 * <p>
-	 * See the {@link RestResource#debug() @RestResource(debug)} annotation on details of how to enable debugging.
+	 * See the {@link Rest#debug() @Rest(debug)} annotation on details of how to enable debugging.
 	 *
 	 * <p>
 	 * The possible values are (case-insensitive):
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Property.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Property.java
index 09d5e1d..a27c2d4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Property.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Property.java
@@ -18,7 +18,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 import java.lang.annotation.*;
 
 /**
- * Property name/value pair used in the {@link RestResource#properties() @RestResource(properties)} annotation.
+ * Property name/value pair used in the {@link Rest#properties() @Rest(properties)} annotation.
  *
  * <p>
  * Any of the properties defined on any of the serializers or parsers can be defined.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/ResourceSwagger.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/ResourceSwagger.java
index cc8f084..912eadc 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/ResourceSwagger.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/ResourceSwagger.java
@@ -16,7 +16,7 @@ import org.apache.juneau.jsonschema.annotation.ExternalDocs;
 import org.apache.juneau.http.annotation.*;
 
 /**
- * Extended annotation for {@link RestResource#swagger() @RestResource(swagger)}.
+ * Extended annotation for {@link Rest#swagger() @Rest(swagger)}.
  *
  * <ul class='seealso'>
  * 	<li class='link'>{@doc juneau-rest-server.Swagger}
@@ -47,7 +47,7 @@ public @interface ResourceSwagger {
 	 * 			<li><c>{resource-class}.title</c> property in resource bundle.
 	 * 			<li>{@link ResourceSwagger#title()} on this class, then any parent classes.
 	 * 			<li>Value defined in Swagger JSON file.
-	 * 			<li>{@link RestResource#title()} on this class, then any parent classes.
+	 * 			<li>{@link Rest#title()} on this class, then any parent classes.
 	 * 			<li>
 	 * 		</ol>
 	 * 	<li>
@@ -82,7 +82,7 @@ public @interface ResourceSwagger {
 	 * 			<li><c>{resource-class}.description</c> property in resource bundle.
 	 * 			<li>{@link ResourceSwagger#description()} on this class, then any parent classes.
 	 * 			<li>Value defined in Swagger JSON file.
-	 * 			<li>{@link RestResource#description()} on this class, then any parent classes.
+	 * 			<li>{@link Rest#description()} on this class, then any parent classes.
 	 * 			<li>
 	 * 		</ol>
 	 * 	<li>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
similarity index 96%
copy from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
copy to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 09a896a..ceccd47 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -45,8 +45,8 @@ import org.apache.juneau.utils.*;
 @Target(TYPE)
 @Retention(RUNTIME)
 @Inherited
-@PropertyStoreApply(RestResourceConfigApply.class)
-public @interface RestResource {
+@PropertyStoreApply(RestConfigApply.class)
+public @interface Rest {
 
 	/**
 	 * Allow body URL parameter.
@@ -1066,7 +1066,7 @@ public @interface RestResource {
 	 * </p>
 	 *
 	 * <p>
-	 * Note that headers can also be specified per path-mapping via the {@link RestResource#staticFiles() @RestResource(staticFiles)} annotation.
+	 * Note that headers can also be specified per path-mapping via the {@link Rest#staticFiles() @RestResource(staticFiles)} annotation.
 	 * <p class='bcode w800'>
 	 * 	<ja>@RestResource</ja>(
 	 * 		staticFiles={
@@ -1102,7 +1102,7 @@ public @interface RestResource {
 	 * </ol>
 	 *
 	 * <p>
-	 * An example where this class is used is in the {@link RestResource#staticFiles} annotation:
+	 * An example where this class is used is in the {@link Rest#staticFiles} annotation:
 	 * <p class='bcode w800'>
 	 * 	<jk>package</jk> com.foo.mypackage;
 	 *
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
similarity index 97%
copy from juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
copy to juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
index 1eadabb..545417a 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestConfigApply.java
@@ -39,9 +39,9 @@ import org.apache.juneau.svl.*;
 import org.apache.juneau.utils.*;
 
 /**
- * Applies {@link RestResource} annotations to a {@link PropertyStoreBuilder}.
+ * Applies {@link Rest} annotations to a {@link PropertyStoreBuilder}.
  */
-public class RestResourceConfigApply extends ConfigApply<RestResource> {
+public class RestConfigApply extends ConfigApply<Rest> {
 
 	/**
 	 * Constructor.
@@ -49,14 +49,14 @@ public class RestResourceConfigApply extends ConfigApply<RestResource> {
 	 * @param c The annotation class.
 	 * @param r The resolver for resolving values in annotations.
 	 */
-	public RestResourceConfigApply(Class<RestResource> c, VarResolverSession r) {
+	public RestConfigApply(Class<Rest> c, VarResolverSession r) {
 		super(c, r);
 	}
 
 	@SuppressWarnings("deprecation")
 	@Override
-	public void apply(AnnotationInfo<RestResource> ai, PropertyStoreBuilder psb) {
-		RestResource a = ai.getAnnotation();
+	public void apply(AnnotationInfo<Rest> ai, PropertyStoreBuilder psb) {
+		Rest a = ai.getAnnotation();
 		String s = null;
 		ClassInfo c = ai.getClassOn();
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
index 85243f2..df88cde 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
@@ -102,7 +102,7 @@ public @interface RestMethod {
 	 *
 	 * <p>
 	 * The client version is identified via the HTTP request header identified by
-	 * {@link RestResource#clientVersionHeader() @RestResource(clientVersionHeader)} which by default is <js>"X-Client-Version"</js>.
+	 * {@link Rest#clientVersionHeader() @Rest(clientVersionHeader)} which by default is <js>"X-Client-Version"</js>.
 	 *
 	 * <p>
 	 * This is a specialized kind of {@link RestMatcher} that allows you to invoke different Java methods for the same
@@ -632,7 +632,7 @@ public @interface RestMethod {
 	int priority() default 0;
 
 	/**
-	 * Same as {@link RestResource#properties() @RestResource(properties)}, except defines property values by default when this method is called.
+	 * Same as {@link Rest#properties() @Rest(properties)}, except defines property values by default when this method is called.
 	 *
 	 * <p>
 	 * This is equivalent to simply calling <c>res.addProperties()</c> in the Java method, but is provided for
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
index 09a896a..999811b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
@@ -40,12 +40,15 @@ import org.apache.juneau.utils.*;
  * <ul class='seealso'>
  * 	<li class='link'>{@doc juneau-rest-server.RestResource}
  * </ul>
+ *
+ * @deprecated Use {@link Rest}
  */
 @Documented
 @Target(TYPE)
 @Retention(RUNTIME)
 @Inherited
 @PropertyStoreApply(RestResourceConfigApply.class)
+@Deprecated
 public @interface RestResource {
 
 	/**
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
index 1eadabb..4bd2969 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
@@ -41,6 +41,7 @@ import org.apache.juneau.utils.*;
 /**
  * Applies {@link RestResource} annotations to a {@link PropertyStoreBuilder}.
  */
+@Deprecated
 public class RestResourceConfigApply extends ConfigApply<RestResource> {
 
 	/**
@@ -53,7 +54,6 @@ public class RestResourceConfigApply extends ConfigApply<RestResource> {
 		super(c, r);
 	}
 
-	@SuppressWarnings("deprecation")
 	@Override
 	public void apply(AnnotationInfo<RestResource> ai, PropertyStoreBuilder psb) {
 		RestResource a = ai.getAnnotation();
diff --git a/juneau-sc/juneau-sc-server/src/main/java/org/apache/juneau/server/config/rest/LoadConfigResource.java b/juneau-sc/juneau-sc-server/src/main/java/org/apache/juneau/server/config/rest/LoadConfigResource.java
index 6d1ce06..8420eff 100644
--- a/juneau-sc/juneau-sc-server/src/main/java/org/apache/juneau/server/config/rest/LoadConfigResource.java
+++ b/juneau-sc/juneau-sc-server/src/main/java/org/apache/juneau/server/config/rest/LoadConfigResource.java
@@ -17,11 +17,10 @@ import static org.apache.juneau.http.HttpMethodName.GET;
 import org.apache.juneau.http.annotation.Path;
 import org.apache.juneau.json.JsonSerializer;
 import org.apache.juneau.rest.RestServlet;
-import org.apache.juneau.rest.annotation.RestMethod;
-import org.apache.juneau.rest.annotation.RestResource;
+import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.server.config.repository.GetConfiguration;
 
-@RestResource(path = "/configs/*")
+@Rest(path="/configs/*")
 @SuppressWarnings("javadoc")
 public class LoadConfigResource extends RestServlet {