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)
0
s to try a random port.
RestMicroservice
class:
getPort()
getURI()