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 2f5271b Javadocs
2f5271b is described below
commit 2f5271b15387811a83f3847e33473ffb98ace3e4
Author: JamesBognar <[email protected]>
AuthorDate: Wed Jul 18 20:57:19 2018 -0400
Javadocs
---
.../apache/juneau/http/annotation/FormData.java | 39 +++++++++--
.../org/apache/juneau/http/annotation/Header.java | 62 +++++++++++++-----
.../org/apache/juneau/http/annotation/Path.java | 69 +++++++++++++++-----
.../org/apache/juneau/http/annotation/Query.java | 76 ++++++++++++++++------
.../apache/juneau/httppart/OpenApiPartParser.java | 18 ++---
.../juneau/httppart/OpenApiPartSerializer.java | 16 ++---
6 files changed, 207 insertions(+), 73 deletions(-)
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 bd04f50..78a736f 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,6 +15,7 @@ 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.*;
@@ -38,8 +39,7 @@ import org.apache.juneau.urlencoding.*;
*
* <h5 class='topic'>Server-side REST</h5>
*
- * Annotation that can be applied to a parameter of a
<ja>@RestMethod</ja>-annotated method to identify it as a form post
- * entry converted to a POJO.
+ * Annotation that can be applied to a parameter of a
<ja>@RestMethod</ja>-annotated method to identify it as a form-data parameter.
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
@@ -120,8 +120,10 @@ import org.apache.juneau.urlencoding.*;
* <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);
+ * 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>
@@ -147,7 +149,34 @@ import org.apache.juneau.urlencoding.*;
* </p>
*
* <p>
- * The annotation can also be applied to a bean property field or getter when
the argument is annotated with
+ * 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.
+ * </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 RequestBean @RequestBean}:
*
* <h5 class='section'>Example:</h5>
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 c328fa1..20fcb25 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
@@ -39,14 +39,12 @@ import org.apache.juneau.urlencoding.*;
* <h5 class='topic'>Server-side REST</h5>
*
* Annotation that can be applied to a parameter of a
<ja>@RestMethod</ja>-annotated method to identify it as a HTTP
- * request header converted to a POJO.
+ * request header.
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
- * <jk>public void</jk> doGet(RestRequest req, RestResponse res,
<ja>@Header</ja>(<js>"ETag"</js>) UUID etag) {
- * ...
- * }
+ * <jk>public void</jk> doGet(<ja>@Header</ja>(<js>"ETag"</js>) UUID etag)
{...}
* </p>
*
* <p>
@@ -54,7 +52,7 @@ import org.apache.juneau.urlencoding.*;
* <p class='bcode w800'>
* <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
* <jk>public void</jk> doPostPerson(RestRequest req, RestResponse res) {
- * UUID etag = req.getHeader(UUID.<jk>class</jk>, "ETag");
+ * UUID etag = req.getHeader(UUID.<jk>class</jk>, <js>"ETag"</js>);
* ...
* }
* </p>
@@ -66,6 +64,27 @@ import org.apache.juneau.urlencoding.*;
* Objects convertible from data types inferred from Swagger
schema annotations using the registered {@link OpenApiPartParser}.
* </ol>
*
+ * <p>
+ * The special name <js>"*"</js> (or blank) can be used to represent all
values.
+ * When used, the data type must be a <code>Map</code> or bean.
+ *
+ * <h5 class='section'>Examples:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a map.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Header</ja>(<js>"*"</js>)
Map<String,Object> map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Same, but name "*" is inferred.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Header</ja> Map<String,Object>
map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a bean.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Header</ja> MyBean bean) {...}
+ * </p>
+ *
* <h5 class='section'>See Also:</h5>
* <ul>
* <li class='link'><a class="doclink"
href="../../../../../overview-summary.html#juneau-rest-server.Header">Overview
> juneau-rest-server > @Header</a>
@@ -107,7 +126,28 @@ import org.apache.juneau.urlencoding.*;
* </p>
*
* <p>
- * The annotation can also be applied to a bean property field or getter when
the argument is annotated with
+ * 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>
+ * <code>NameValuePairs</code> - Serialized as individual headers.
+ * <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}.
+ * </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 RequestBean @RequestBean}:
*
* <h5 class='section'>Example:</h5>
@@ -153,16 +193,6 @@ import org.apache.juneau.urlencoding.*;
* }
* </p>
*
- * <p>
- * The {@link #name()} and {@link #value()} elements are synonyms for
specifying the header name.
- * Only one should be used.
- * <br>The following annotations are fully equivalent:
- * <p class='bcode w800'>
- * <ja>@Header</ja>(name=<js>"Foo"</js>)
- *
- * <ja>@Header</ja>(<js>"Foo"</js>)
- * </p>
- *
* <h5 class='section'>See Also:</h5>
* <ul class='doctree'>
* <li class='link'><a class='doclink'
href='../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies'>Overview
> juneau-rest-client > Interface Proxies Against 3rd-party REST
Interfaces</a>
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 ba2b6bc..8317155 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
@@ -38,15 +38,17 @@ import org.apache.juneau.urlencoding.*;
* <h5 class='topic'>Server-side REST</h5>
*
* Annotation that can be applied to a parameter of a
<ja>@RestMethod</ja>-annotated method to identify it as a variable
- * in a URL path pattern converted to a POJO.
+ * in a URL path pattern.
*
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* <ja>@RestMethod</ja>(name=<jsf>GET</jsf>,
path=<js>"/myurl/{foo}/{bar}/{baz}/*"</js>)
- * <jk>public void</jk> doGet(RestRequest req, RestResponse res,
- * <ja>@Path</ja>(<js>"foo"</js>) String foo,
<ja>@Path</ja>(<js>"bar"</js>) <jk>int</jk> bar, <ja>@Path</ja>(<js>"baz"</js>)
UUID baz) {
- * ...
- * }
+ * <jk>public void</jk> doGet(
+ * <ja>@Path</ja>(<js>"foo"</js>) String foo,
+ * <ja>@Path</ja>(<js>"bar"</js>) <jk>int</jk> bar,
+ * <ja>@Path</ja>(<js>"baz"</js>) UUID baz,
+ * <ja>@Path</ja>(<js>"/*"</js>) String remainder,
+ * ) {...}
* </p>
*
* <p>
@@ -56,6 +58,30 @@ import org.apache.juneau.urlencoding.*;
* Objects convertible from data types inferred from Swagger
schema annotations using the registered {@link OpenApiPartParser}.
* </ol>
*
+ * <p>
+ * The special name <js>"*"</js> (or blank) can be used to represent all
values.
+ * When used, the data type must be a <code>Map</code> or bean.
+ *
+ * <h5 class='section'>Examples:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a map.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Path</ja>(<js>"*"</js>)
Map<String,Object> map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Same, but name "*" is inferred.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Path</ja> Map<String,Object>
map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a bean.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Path</ja> MyBean bean) {...}
+ * </p>
+ *
+ * <p>
+ * The special name <js>"/*"</js> is used to retrieve the path remainder after
the path match (i.e. the part that matches <js>"/*"</js>).
+ *
* <h5 class='section'>See Also:</h5>
* <ul>
* <li class='link'><a class="doclink"
href="../../../../../overview-summary.html#juneau-rest-server.Path">Overview
> juneau-rest-server > @Path</a>
@@ -95,7 +121,28 @@ import org.apache.juneau.urlencoding.*;
* </p>
*
* <p>
- * The annotation can also be applied to a bean property field or getter when
the argument is annotated with
+ * 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>
+ * <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}.
+ * </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 RequestBean @RequestBean}:
*
* <h5 class='section'>Example:</h5>
@@ -141,16 +188,6 @@ import org.apache.juneau.urlencoding.*;
* }
* </p>
*
- * <p>
- * The {@link #name()} and {@link #value()} elements are synonyms for
specifying the path variable name.
- * Only one should be used.
- * <br>The following annotations are fully equivalent:
- * <p class='bcode w800'>
- * <ja>@Path</ja>(name=<js>"foo"</js>)
- *
- * <ja>@Path</ja>(<js>"foo"</js>)
- * </p>
- *
* <h5 class='section'>See Also:</h5>
* <ul class='doctree'>
* <li class='link'><a class='doclink'
href='../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies'>Overview
> juneau-rest-client > Interface Proxies Against 3rd-party REST
Interfaces</a>
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 e9085ec..0f06781 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,6 +15,7 @@ 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.*;
@@ -38,8 +39,7 @@ import org.apache.juneau.urlencoding.*;
*
* <h5 class='topic'>Server-side REST</h5>
*
- * Identical to {@link FormData @FormData}, but only retrieves the parameter
from the URL string, not URL-encoded form
- * posts.
+ * Annotation that can be applied to a parameter of a
<ja>@RestMethod</ja>-annotated method to identify it as a URL query parameter.
*
* <p>
* Unlike {@link FormData @FormData}, using this annotation does not result in
the servlet reading the contents of
@@ -50,10 +50,11 @@ import org.apache.juneau.urlencoding.*;
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
- * <jk>public void</jk> doGet(RestRequest req, RestResponse res,
- * <ja>@Query</ja>(<js>"p1"</js>) <jk>int</jk> p1,
<ja>@Query</ja>(<js>"p2"</js>) String p2, <ja>@Query</ja>(<js>"p3"</js>) UUID
p3) {
- * ...
- * }
+ * <jk>public void</jk> doGet(
+ * <ja>@Query</ja>(<js>"p1"</js>) <jk>int</jk> p1,
+ * <ja>@Query</ja>(<js>"p2"</js>) String p2,
+ * <ja>@Query</ja>(<js>"p3"</js>) UUID p3
+ * ) {...}
* </p>
*
* <p>
@@ -75,6 +76,27 @@ import org.apache.juneau.urlencoding.*;
* Objects convertible from data types inferred from Swagger
schema annotations using the registered {@link OpenApiPartParser}.
* </ol>
*
+ * <p>
+ * The special name <js>"*"</js> (or blank) can be used to represent all
values.
+ * When used, the data type must be a <code>Map</code> or bean.
+ *
+ * <h5 class='section'>Examples:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a map.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Query</ja>(<js>"*"</js>)
Map<String,Object> map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Same, but name "*" is inferred.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Query</ja> Map<String,Object>
map) {...}
+ * </p>
+ * <p class='bcode w800'>
+ * <jc>// Multiple values passed as a bean.</jc>
+ * <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
+ * <jk>public void</jk> doPost(<ja>@Query</ja> MyBean bean) {...}
+ * </p>
+ *
* <h5 class='section'>See Also:</h5>
* <ul>
* <li class='link'><a class="doclink"
href="../../../../../overview-summary.html#juneau-rest-server.Query">Overview
> juneau-rest-server > @Query</a>
@@ -95,7 +117,8 @@ import org.apache.juneau.urlencoding.*;
* <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,
+ * 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>
@@ -114,7 +137,7 @@ import org.apache.juneau.urlencoding.*;
* String myProxyMethod4(<ja>@Query</ja> MyBean myBean);
*
* <jc>// An entire query string as a String.</jc>
- * <jc>// Same as @FQuery("*").</jc>
+ * <jc>// Same as @Query("*").</jc>
* <ja>@RemoteMethod</ja>(path=<js>"/mymethod5"</js>)
* String myProxyMethod5(<ja>@Query</ja> String string);
*
@@ -126,7 +149,32 @@ import org.apache.juneau.urlencoding.*;
* </p>
*
* <p>
- * The annotation can also be applied to a bean property field or getter when
the argument is annotated with
+ * 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.
+ * </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 RequestBean @RequestBean}:
*
* <h5 class='section'>Example:</h5>
@@ -177,16 +225,6 @@ import org.apache.juneau.urlencoding.*;
* }
* </p>
*
- * <p>
- * The {@link #name()} and {@link #value()} elements are synonyms for
specifying the parameter name.
- * Only one should be used.
- * <br>The following annotations are fully equivalent:
- * <p class='bcode w800'>
- * <ja>@Query</ja>(name=<js>"foo"</js>)
- *
- * <ja>@Query</ja>(<js>"foo"</js>)
- * </p>
- *
* <h5 class='section'>See Also:</h5>
* <ul class='doctree'>
* <li class='link'><a class='doclink'
href='../../../../overview-summary.html#juneau-rest-client.3rdPartyProxies'>Overview
> juneau-rest-client > Interface Proxies Against 3rd-party REST
Interfaces</a>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartParser.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartParser.java
index 2b61c73..1106aeb 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartParser.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartParser.java
@@ -29,7 +29,7 @@ import org.apache.juneau.transform.*;
* <table class='styled'>
* <tr><th>Type</th><th>Format</th><th>Valid parameter types</th></tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td>
* <code>byte</code>
* <br><code>binary</code>
@@ -54,7 +54,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td>
* <code>date</code>
* <code>date-time</code>
@@ -78,7 +78,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td><code>uon</code></td>
* <td>
* <ul>
@@ -87,8 +87,8 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
- * <td>none specified</td>
+ * <td><code>string</code><br>(empty)</td>
+ * <td>(empty)</td>
* <td>
* <ul>
* <li>{@link String} (default)
@@ -110,14 +110,14 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>boolean</code></td>
+ * <td><code>boolean</code></td>
* <td>
*
* </td>
* <td>
* <ul>
* <li>{@link Boolean} (default)
- * <li><jk>boolean</code>
+ * <li><jk>boolean</jk>
* <li>{@link String}
* <li>{@link Object} - Returns the default {@link
Boolean}.
* <li>Any POJO transformable from a {@link
Boolean} via the following methods:
@@ -132,7 +132,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>array</code></td>
+ * <td><code>array</code></td>
* <td>
*
* </td>
@@ -151,7 +151,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>object</code></td>
+ * <td><code>object</code></td>
* <td>
*
* </td>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartSerializer.java
index 11e4406..178035b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/OpenApiPartSerializer.java
@@ -28,7 +28,7 @@ import org.apache.juneau.transform.*;
* <table class='styled'>
* <tr><th>Type</th><th>Format</th><th>Valid parameter types</th></tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td>
* <code>byte</code>
* <br><code>binary</code>
@@ -50,7 +50,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td>
* <code>date</code>
* <code>date-time</code>
@@ -69,7 +69,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
+ * <td><code>string</code><br>(empty)</td>
* <td><code>uon</code></td>
* <td>
* <ul>
@@ -78,8 +78,8 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>string</code></td>
- * <td>none specified</td>
+ * <td><code>string</code><br>(empty)</td>
+ * <td>(empty)</td>
* <td>
* <ul>
* <li>{@link String} (default)
@@ -92,7 +92,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>boolean</code></td>
+ * <td><code>boolean</code></td>
* <td>
*
* </td>
@@ -111,7 +111,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>array</code></td>
+ * <td><code>array</code></td>
* <td>
*
* </td>
@@ -128,7 +128,7 @@ import org.apache.juneau.transform.*;
* </td>
* </tr>
* <tr>
- * <td ><code>object</code></td>
+ * <td><code>object</code></td>
* <td>
*
* </td>