6.2.0 (Apr 28, 2017)
Juneau 6.2.0 is a major update.
ConfigFileBuilder.
Lockable interface.
addBeanTypeProperties setting added to serializers to override the
SerializerContext.SERIALIZER_addBeanTypeProperties setting
for individual serializers in a serializer group:
HtmlSerializerContext.HTML_addBeanTypeProperties
JsonSerializerContext.JSON_addBeanTypeProperties
MsgPackSerializerContext.MSGPACK_addBeanTypeProperties
UonSerializerContext.UON_addBeanTypeProperties
XmlSerializerContext.#XML_addBeanTypeProperties
RdfSerializerContext.RDF_addBeanTypeProperties
org.apache.juneau.uon package.
style() override methods to all elements.
here and in the $SWITCH variable for switch block logic.
SerializerContext.SERIALIZER_abridged.
org.apache.juneau.remoteable for all remoteable proxy interface annotations.
6 - Remoteable Services
6.1 - Interface proxies against 3rd-party REST interfaces
UrlEncodingSerializerContext.URLENC_paramFormat.
UrlEncodingSerializerBuilder.paramFormat(String)
UrlEncodingSerializerBuilder.plainTextParams()
RestServlet
should have an equivalent for non-RestServlet classes.
RestServlet.
Child resources do not.
RestConfig - A modifiable configuration of a resource. Subclasses from {@link javax.servlet.ServletConfig}.
RestServlet.init(RestConfig) - A modifiable configuration of a resource.
RestServlet classes must have one of the following to allow it to be instantiated:
public T(RestConfig) constructor.
public T() constructor.
RestServlet classes can optionally include the following init methods to gain access to the config and context:
public init(RestConfig)
public init(RestContext)
RestServlet
resources to do the same as subclassing directly from RestServlet:
@RestResource(pageTitle)
@RestMethod(pageTitle)
@RestResource(pageText)
@RestMethod(pageText)
@RestResource(pageLinks)
@RestMethod(pageLinks)
Typically you're going to simply want to use the title and description annotations
which apply to both the page title/text and the swagger doc:
RestResource.stylesheet() can now take in a comma-delimited list of stylesheet paths.
StreamResource can now contain multiple sources from a variety of source types (e.g. byte [] arrays, InputStreams, Files, etc...)
and is now immutable. It also includes a new StreamResourceBuilder class.
@RestMethod (name="PROXY" ) annotation on REST methods.
Used to expose interface proxies without the need for RemoteableServlet.
RestClient class doX(Object url) methods now handle HttpClient URIBuilder instances.
RestClient.getRemoteableProxy(Class,Object) - For interface proxies defined using @RestMethod (name="PROXY" ).
RestClient.getRemoteableProxy(Class,Object,Serializer,Parser) - Same as above, but overrides the serializer and parser defined on the client.
query(String,Object,boolean,PartSerializer)
formData(String,Object,boolean,PartSerializer)
header(String,Object,boolean,PartSerializer)
RestClientBuilder.plainTextParams()
No-Trace: true header on all requests to prevent
the servlet from logging errors.
Debug: true header on all requests.
input(Object) - Now accepts instances of {@link oajrc.NameValuePairs}.
HttpResponse returned by the inner HttpClient.
append(String,Object,PartSerializer)
0s to try a random port.