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 0dd2e71 Javadocs 0dd2e71 is described below commit 0dd2e712315ab4b44862bf4a36ba8432e4698f5a Author: JamesBognar <jamesbog...@apache.org> AuthorDate: Thu Aug 16 13:54:27 2018 -0400 Javadocs --- .../org/apache/juneau/http/annotation/Body.java | 98 ++--------------- .../apache/juneau/http/annotation/FormData.java | 120 ++------------------- .../org/apache/juneau/http/annotation/Header.java | 9 ++ .../org/apache/juneau/http/annotation/Path.java | 9 ++ .../org/apache/juneau/http/annotation/Query.java | 119 ++------------------ .../apache/juneau/http/annotation/Response.java | 5 +- .../juneau/http/annotation/ResponseBody.java | 9 +- .../juneau/http/annotation/ResponseHeader.java | 10 +- .../juneau/http/annotation/ResponseStatus.java | 10 +- 9 files changed, 71 insertions(+), 318 deletions(-) diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java index c42c4a9..4deb124 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java @@ -15,7 +15,6 @@ package org.apache.juneau.http.annotation; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; -import java.io.*; import java.lang.annotation.*; import org.apache.juneau.*; @@ -23,7 +22,6 @@ import org.apache.juneau.annotation.*; import org.apache.juneau.httppart.*; import org.apache.juneau.json.*; import org.apache.juneau.jsonschema.*; -import org.apache.juneau.serializer.*; /** * REST request body annotation. @@ -35,7 +33,8 @@ import org.apache.juneau.serializer.*; * Can be used in the following locations: * <ul> * <li>Arguments and argument-types of server-side <ja>@RestMethod</ja>-annotated methods. - * <li>Arguments and argument-types of client-side <ja>@Remoteable</ja>-annotated interfaces. + * <li>Arguments and argument-types of client-side <ja>@RemoteMethod</ja>-annotated interfaces. + * <li>Methods and return types of server-side and client-side <ja>@Request</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments and argument-types of server-side @RestMethod-annotated methods</h5> @@ -108,98 +107,17 @@ import org.apache.juneau.serializer.*; * * <h5 class='topic'>Arguments and argument-types of client-side @Remoteable-annotated interfaces</h5> * - * Annotation applied to Java method arguments of interface proxies to denote that they are the HTTP body of the request. - * - * <h5 class='section'>Examples:</h5> - * <p class='bcode w800'> - * <jc>// Used on parameter</jc> - * <ja>@Remoteable</ja>(path=<js>"/petstore"</js>) - * <jk>public interface</jk> PetStore { - * - * <ja>@RemoteMethod</ja>(path=<js>"/pets"</js>) - * String addPet(<ja>@Body</ja> Pet pet); - * } - * </p> - * <p class='bcode w800'> - * <jc>// Used on class</jc> - * <ja>@Remoteable</ja>(path=<js>"/petstore"</js>) - * <jk>public interface</jk> PetStore { - * - * <ja>@RemoteMethod</ja>(path=<js>"/pets"</js>) - * String addPet(Pet pet); - * } - * - * <ja>@Body</ja> - * <jk>public class</jk> Pet {...} - * </p> - * - * <p> - * The annotation can also be applied to a bean property field or getter when the argument is annotated with - * {@link Request @Request}: - * - * <h5 class='section'>Example:</h5> - * <p class='bcode w800'> - * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) - * <jk>public interface</jk> MyProxy { - * - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) - * String myProxyMethod(<ja>@Request</ja> MyRequest bean); - * } - * - * <jk>public interface</jk> MyRequest { - * <ja>@Body</ja> - * MyPojo getMyPojo(); - * } - * </p> - * - * <p> - * The argument can be any of the following types: - * <ul class='spaced-list'> - * <li> - * Any serializable POJO - Converted to text using the {@link Serializer} registered with the - * <code>RestClient</code>. - * <li> - * {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource. - * <li> - * {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource. - * <li> - * <code>HttpEntity</code> - Bypass Juneau serialization and pass HttpEntity directly to HttpClient. - * <li> - * <code>NameValuePairs</code> - Converted to a URL-encoded FORM post. + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Body'>Overview > juneau-rest-client > @Body</a> * </ul> * - * <p> - * OpenAPI schema based serialization can be used by specifying a value for the {@link #partSerializer()} annotation. - * - * <p class='bcode w800'> - * <ja>@RemoteMethod</ja>(path=<js>"/comma-delimited-pipe-delimited-ints"</js>) - * String addCommaDelimitedPipeDelimitedInts( - * <ja>@Body</ja>( - * serializer=OpenApiPartSerializer.<jk>class</jk>, - * schema=<ja>@Schema</ja>( - * type=<js>"array"</js>, - * collectionFormat=<js>"pipes"</js>, - * items=<ja>@Items</ja>( - * type=<js>"array"</js> - * items=<ja>@SubItems</ja>( - * type=<js>"int32"</js>, - * <jc>// Auto-validates on client side!</jc> - * minimum=<js>"0"</js>, - * maximum=<js>"64"</js> - * ) - * ) - * ) - * ) - * <jk>int</jk>[][] input - * ); - * </p> - * - * <p> - * When using OpenAPI serialization, the argument can be any data type specified in {@link OpenApiPartSerializer}. + * <h5 class='topic'>Methods and return types of server-side and client-side @Request-annotated interfaces</h5> * * <h5 class='section'>See Also:</h5> * <ul class='doctree'> - * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Body'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Body</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Request'>Overview > juneau-rest-server > @Request</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > @Request</a> * </ul> */ @Documented diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java index 2207eb4..8ad9130 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java @@ -15,7 +15,6 @@ package org.apache.juneau.http.annotation; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; -import java.io.*; import java.lang.annotation.*; import java.util.*; @@ -36,6 +35,7 @@ import org.apache.juneau.jsonschema.*; * <ul> * <li>Arguments and argument-types of server-side <ja>@RestMethod</ja>-annotated methods. * <li>Arguments and argument-types of client-side <ja>@Remoteable</ja>-annotated interfaces. + * <li>Methods and return types of server-side and client-side <ja>@Request</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments and argument-types of server-side @RestMethod-annotated methods</h5> @@ -81,124 +81,24 @@ import org.apache.juneau.jsonschema.*; * The {@link Query @Query} annotation can be used to retrieve a URL parameter in the URL string without triggering the * servlet to drain the body content. * - * <h5 class='topic'>Arguments and argument-types of client-side @Remoteableß-annotated interfaces</h5> + * <h5 class='topic'>Arguments and argument-types of client-side @Remoteable-annotated interfaces</h5> * Annotation applied to Java method arguments of interface proxies to denote that they are FORM post parameters on the * request. * - * <h5 class='section'>Example:</h5> - * <p class='bcode w800'> - * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) - * <jk>public interface</jk> MyProxy { - * - * <jc>// Explicit names specified for form data parameters.</jc> - * <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>) - * String myProxyMethod1( - * <ja>@FormData</ja>(<js>"foo"</js>)</ja> String foo, - * <ja>@FormData</ja>(<js>"bar"</js>)</ja> MyPojo pojo - * ); - * - * <jc>// Multiple values pulled from a NameValuePairs object.</jc> - * <jc>// Name "*" is inferred.</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>) - * String myProxyMethod2(<ja>@FormData</ja> NameValuePairs nameValuePairs); - * - * <jc>// Multiple values pulled from a Map.</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>) - * String myProxyMethod3(<ja>@FormData</ja> Map<String,Object> map); - * - * <jc>// Multiple values pulled from a bean.</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod4"</js>) - * String myProxyMethod4(<ja>@FormData</ja> MyBean bean); - * - * <jc>// An entire form-data HTTP body as a String.</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod5"</js>) - * String myProxyMethod5(<ja>@FormData</ja> String string); - * - * <jc>// An entire form-data HTTP body as a Reader.</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod6"</js>) - * String myProxyMethod6(<ja>@FormData</ja> Reader reader); - * } - * </p> - * - * <p> - * Single-part arguments (i.e. those with name != <js>"*"</js>) can be any of the following types: - * <ul class='spaced-list'> - * <li> - * Any serializable POJO - Converted to a string using the {@link HttpPartSerializer} registered with the - * <code>RestClient</code> or associated via the {@link #serializer()} annotation. - * </ul> - * - * <p> - * Multi-part arguments (i.e. those with name == <js>"*"</js> or empty) can be any of the following types: - * <ul class='spaced-list'> - * <li> - * {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource. - * <li> - * {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource. - * <li> - * <code>NameValuePairs</code> - Converted to a URL-encoded FORM post. - * <li> - * <code>Map</code> - Converted to key-value pairs. - * <br>Values serialized using the registered {@link HttpPartSerializer}. - * <li> - * Bean - Converted to key-value pairs. - * <br>Values serialized using the registered {@link HttpPartSerializer}. - * <li> - * <code>CharSequence</code> - Used directly as am <js>"application/x-www-form-urlencoded"</js> entity. + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.FormData'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @FormData</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Request</a> * </ul> * - * <p> - * The annotation can also be applied to a bean property field or getter when the argument or argument class is annotated with - * {@link Request @Request}: - * - * <h5 class='section'>Example:</h5> - * <p class='bcode w800'> - * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) - * <jk>public interface</jk> MyProxy { - * - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) - * String myProxyMethod(<ja>@Request</ja> MyRequest bean); - * } - * - * <jk>public interface</jk> MyRequest { - * - * <jc>// Name explicitly specified.</jc> - * <ja>@FormData</ja>(<js>"foo"</js>) - * String getX(); - * - * <jc>// Name inherited from bean property.</jc> - * <jc>// Same as @FormData("bar")</jc> - * <ja>@FormData</ja> - * String getBar(); - * - * <jc>// Multiple values pulled from NameValuePairs object.</jc> - * <jc>// Same as @FormData("*")</jc> - * <ja>@FormData</ja> - * NameValuePairs getNameValuePairs(); - * - * <jc>// Multiple values pulled from Map.</jc> - * <jc>// Same as @FormData("*")</jc> - * <ja>@FormData</ja> - * Map<String,Object> getMap(); - * - * <jc>// Multiple values pulled from bean.</jc> - * <jc>// Same as @FormData("*")</jc> - * <ja>@FormData</ja> - * MyBean getMyBean(); - * - * <jc>// An entire form-data HTTP body as a Reader.</jc> - * <jc>// Same as @FormData("*")</jc> - * <ja>@FormData</ja> - * Reader getReader(); - * } - * </p> + * <h5 class='topic'>Methods and return types of server-side and client-side @Request-annotated interfaces</h5> * * <h5 class='section'>See Also:</h5> * <ul class='doctree'> - * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.FormData'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @FormData</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Request'>Overview > juneau-rest-server > @Request</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > @Request</a> * </ul> - */ +*/ @Documented @Target({PARAMETER,FIELD,METHOD,TYPE}) @Retention(RUNTIME) diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java index 0734ffa..bd83fc5 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java @@ -35,6 +35,7 @@ import org.apache.juneau.jsonschema.*; * <ul> * <li>Arguments and argument-types of server-side <ja>@RestMethod</ja>-annotated methods. * <li>Arguments and argument-types of client-side <ja>@Remoteable</ja>-annotated interfaces. + * <li>Methods and return types of server-side and client-side <ja>@Request</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments and argument-types of server-side @RestMethod-annotated methods</h5> @@ -164,6 +165,14 @@ import org.apache.juneau.jsonschema.*; * <ul class='doctree'> * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Header'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Header</a> * </ul> + * + * <h5 class='topic'>Methods and return types of server-side and client-side @Request-annotated interfaces</h5> + * + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Request'>Overview > juneau-rest-server > @Request</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > @Request</a> + * </ul> */ @Documented @Target({PARAMETER,FIELD,METHOD,TYPE}) diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java index ed5caa5..77b4d3d 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java @@ -34,6 +34,7 @@ import org.apache.juneau.jsonschema.*; * <ul> * <li>Arguments and argument-types of server-side <ja>@RestMethod</ja>-annotated methods. * <li>Arguments and argument-types of client-side <ja>@Remoteable</ja>-annotated interfaces. + * <li>Methods and return types of server-side and client-side <ja>@Request</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments and argument-types of server-side @RestMethod-annotated methods</h5> @@ -159,6 +160,14 @@ import org.apache.juneau.jsonschema.*; * <ul class='doctree'> * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Path'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Path</a> * </ul> + * + * <h5 class='topic'>Methods and return types of server-side and client-side @Request-annotated interfaces</h5> + * + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Request'>Overview > juneau-rest-server > @Request</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > @Request</a> + * </ul> */ @Documented @Target({PARAMETER,FIELD,METHOD,TYPE}) diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java index eff1591..5229d8d 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java @@ -15,7 +15,6 @@ package org.apache.juneau.http.annotation; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; -import java.io.*; import java.lang.annotation.*; import java.util.*; @@ -36,6 +35,7 @@ import org.apache.juneau.jsonschema.*; * <ul> * <li>Arguments and argument-types of server-side <ja>@RestMethod</ja>-annotated methods. * <li>Arguments and argument-types of client-side <ja>@Remoteable</ja>-annotated interfaces. + * <li>Methods and return types of server-side and client-side <ja>@Request</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments and argument-types of server-side @RestMethod-annotated methods</h5> @@ -79,122 +79,17 @@ import org.apache.juneau.jsonschema.*; * * <h5 class='topic'>Arguments and argument-types of client-side @Remoteable-annotated interfaces</h5> * - * Annotation applied to Java method arguments of interface proxies to denote that they are QUERY parameters on the - * request. - * - * <h5 class='section'>Example:</h5> - * <p class='bcode w800'> - * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) - * <jk>public interface</jk> MyProxy { - * - * <jc>// Explicit names specified for query parameters.</jc> - * <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>) - * String myProxyMethod1( - * <ja>@Query</ja>(<js>"foo"</js>)</ja> String foo, - * <ja>@Query</ja>(<js>"bar"</js>)</ja> MyPojo pojo); - * - * <jc>// Multiple values pulled from a NameValuePairs object.</jc> - * <jc>// Same as @Query("*").</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>) - * String myProxyMethod2(<ja>@Query</ja> NameValuePairs nameValuePairs); - * - * <jc>// Multiple values pulled from a Map.</jc> - * <jc>// Same as @Query("*").</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>) - * String myProxyMethod3(<ja>@Query</ja> Map<String,Object> map); - * - * <jc>// Multiple values pulled from a bean.</jc> - * <jc>// Same as @Query("*").</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod4"</js>) - * String myProxyMethod4(<ja>@Query</ja> MyBean myBean); - * - * <jc>// An entire query string as a String.</jc> - * <jc>// Same as @Query("*").</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod5"</js>) - * String myProxyMethod5(<ja>@Query</ja> String string); - * - * <jc>// An entire query string as a Reader.</jc> - * <jc>// Same as @Query("*").</jc> - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod6"</js>) - * String myProxyMethod6(<ja>@Query</ja> Reader reader); - * } - * </p> - * - * <p> - * Single-part arguments (i.e. those with name != <js>"*"</js>) can be any of the following types: - * <ul class='spaced-list'> - * <li> - * Any serializable POJO - Converted to a string using the {@link HttpPartSerializer} registered with the - * <code>RestClient</code> or associated via the {@link #serializer()} annotation. - * </ul> - * - * <p> - * Multi-part arguments (i.e. those with name == <js>"*"</js> or empty) can be any of the following types: - * <ul class='spaced-list'> - * <li> - * {@link Reader} - Raw contents of {@code Reader} will be serialized directly a query string. - * <li> - * <code>NameValuePairs</code> - Serialized as individual query parameters. - * <li> - * <code>Map</code> - Converted to key-value pairs. - * <br>Values serialized using the registered {@link HttpPartSerializer}. - * <li> - * Bean - Converted to key-value pairs. - * <br>Values serialized using the registered {@link HttpPartSerializer}. - * <li> - * <code>CharSequence</code> - Serialized directly a query string. + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Query'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Query</a> * </ul> * - * <p> - * The annotation can also be applied to a bean property field or getter when the argument or argument class is annotated with - * {@link Request @Request}: - * - * <h5 class='section'>Example:</h5> - * <p class='bcode w800'> - * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) - * <jk>public interface</jk> MyProxy { - * - * <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) - * String myProxyMethod(<ja>@Request</ja> MyRequest bean); - * } - * - * <jk>public interface</jk> MyRequest { - * - * <jc>// Name explicitly specified.</jc> - * <ja>@Query</ja>(<js>"foo"</js>) - * String getX(); - * - * <jc>// Name inherited from bean property.</jc> - * <jc>// Same as @Query("bar")</jc> - * <ja>@Query</ja> - * String getBar(); - * - * <jc>// Multiple values pulled from NameValuePairs object.</jc> - * <jc>// Same as @Query("*")</jc> - * <ja>@Query</ja> - * NameValuePairs getNameValuePairs(); - * - * <jc>// Multiple values pulled from Map.</jc> - * <jc>// Same as @Query("*")</jc> - * <ja>@Query</ja> - * Map<String,Object> getMap(); - * - * <jc>// Multiple values pulled from bean.</jc> - * <jc>// Same as @Query("*")</jc> - * <ja>@Query</ja> - * MyBean getMyBean(); - * - * <jc>// An entire query string as a Reader.</jc> - * <jc>// Same as @Query("*")</jc> - * <ja>@Query</ja> - * Reader getReader(); - * } - * </p> + * <h5 class='topic'>Methods and return types of server-side and client-side @Request-annotated interfaces</h5> * * <h5 class='section'>See Also:</h5> * <ul class='doctree'> - * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Query'>Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Query</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Request'>Overview > juneau-rest-server > @Request</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Request'>Overview > juneau-rest-client > @Request</a> * </ul> */ @Documented diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java index b20c158..8d091dd 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java @@ -26,7 +26,8 @@ import org.apache.juneau.jsonschema.*; /** * REST response annotation. * - * Identifies the HTTP status code and description about an HTTP response. + * <p> + * Identifies an interface to use to interact with HTTP parts of an HTTP response through a bean. * * <p> * Can be used in the following locations: @@ -35,6 +36,7 @@ import org.apache.juneau.jsonschema.*; * <li>Return type classes of <ja>@RestMethod</ja>-annotated methods. * <li><ja>@RestMethod</ja>-annotated methods. * <li>Arguments and argument-types of <ja>@RestMethod</ja>-annotated methods. + * <li>Return type classes of <ja>@RemoteMethod</ja>-annotated methods. * </ul> * * <p> @@ -43,6 +45,7 @@ import org.apache.juneau.jsonschema.*; * <h5 class='section'>See Also:</h5> * <ul> * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Response">Overview > juneau-rest-server > @Response</a> + * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Response">Overview > juneau-rest-client > Interface Proxies Against 3rd-party REST Interfaces > @Response</a> * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.Swagger">Overview > juneau-rest-server > OPTIONS pages and Swagger</a> * <li class='link'><a class="doclink" href="https://swagger.io/specification/v2/#responseObject">Swagger Specification > Response Object</a> * </ul> diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseBody.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseBody.java index d4fbc3b..f48db6a 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseBody.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseBody.java @@ -27,7 +27,7 @@ import java.lang.annotation.*; * <p> * Can be used in the following locations: * <ul> - * <li>Public methods of <ja>@Response</ja>-annotated methods. + * <li>Methods and return types of server-side and client-side <ja>@Response</ja>-annotated interfaces. * </ul> * * @@ -78,9 +78,12 @@ import java.lang.annotation.*; * } * </p> * + * <h5 class='topic'>Methods and return types of server-side and client-side @Response-annotated interfaces</h5> + * * <h5 class='section'>See Also:</h5> - * <ul> - * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Response">Overview > juneau-rest-server > @Response</a> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Response'>Overview > juneau-rest-server > @Response</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Response'>Overview > juneau-rest-client > @Response</a> * </ul> */ @Documented diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseHeader.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseHeader.java index 97f2092..fc36e58 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseHeader.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseHeader.java @@ -30,7 +30,7 @@ import org.apache.juneau.httppart.*; * Can be used in the following locations: * <ul> * <li>Arguments of server-side <ja>@RestMethod</ja>-annotated methods. - * <li>Public methods of <ja>@Response</ja>-annotated types. + * <li>Methods and return types of server-side and client-side <ja>@Response</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments of server-side <ja>@RestMethod</ja>-annotated methods</h5> @@ -116,6 +116,14 @@ import org.apache.juneau.httppart.*; * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.Swagger">Overview > juneau-rest-server > OPTIONS pages and Swagger</a> * <li class='link'><a class="doclink" href="https://swagger.io/specification/v2/#headerObject">Swagger Specification > Header Object</a> * </ul> + * + * <h5 class='topic'>Methods and return types of server-side and client-side @Response-annotated interfaces</h5> + * + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Response'>Overview > juneau-rest-server > @Response</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Response'>Overview > juneau-rest-client > @Response</a> + * </ul> */ @Documented @Target({PARAMETER,METHOD,TYPE}) diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseStatus.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseStatus.java index 460ea4b..ba6ffcb 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseStatus.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseStatus.java @@ -29,7 +29,7 @@ import org.apache.juneau.*; * Can be used in the following locations: * <ul> * <li>Arguments of server-side <ja>@RestMethod</ja>-annotated methods. - * <li>Public methods of <ja>@Response</ja>-annotated types. + * <li>Methods and return types of server-side and client-side <ja>@Response</ja>-annotated interfaces. * </ul> * * <h5 class='topic'>Arguments of server-side <ja>@RestMethod</ja>-annotated methods</h5> @@ -89,6 +89,14 @@ import org.apache.juneau.*; * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.ResponseStatus">Overview > juneau-rest-server > @ResponseStatus</a> * <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-server.Swagger">Overview > juneau-rest-server > OPTIONS pages and Swagger</a> * </ul> + * + * <h5 class='topic'>Methods and return types of server-side and client-side @Response-annotated interfaces</h5> + * + * <h5 class='section'>See Also:</h5> + * <ul class='doctree'> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-server.HttpPartAnnotations.Response'>Overview > juneau-rest-server > @Response</a> + * <li class='link'><a class='doclink' href='../../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies.Response'>Overview > juneau-rest-client > @Response</a> + * </ul> */ @Documented @Target({PARAMETER,METHOD})