7.2.1 (Sept 25, 2018)
7.2.1 is a major release that introduces several significant new features:
ExternalDocs
Items
Schema
SubItems
RemoteInterfaceServlet
or REST @Query ("*" )
, @FormData ("*" )
, @Header ("*" )
, @Path ("*" )
@Bean (typeName)
was not being detected on non-bean POJO classes.
@BeanProperty (name)
but forget to
add it to your @Bean (properties)
annotation.
@Html (asXml)
and @Html (asPlainText)
replaced with
{@link oaj.html.annotation.Html#format() @Html(format)}.
@Html (format=XML )
.
org.apache.juneau.parser.ParseException: Expected '[' at beginning of JSON array. At line 80, column 20. While parsing into: currentClass: List<String> currentProperty: required: java.util.List, field=[null], getter=[public java.util.List org.apache.juneau.dto.swagger.SchemaInfo.getRequired()], setter=[public org.apache.juneau.dto.swagger.SchemaInfo org.apache.juneau.dto.swagger.SchemaInfo.setRequired(java.util.Collection)] ---start-- 0075: "name": "body", 0076: "description": "Pet object that needs to be added to the store", 0077: "required": true, 0078: "schema": { 0079: "required": true, 0080: } 0081: } 0082: ], 0083: "responses": { 0084: "405": { 0085: "description": "Invalid input" ---end---
toString()
method.
getX()
and isX()
method, the getX()
method takes precedence.
@JsonSchema
annotation.
NullPointerException
when serializing beans with a dyna-property (i.e. @Bean ("*" )
)
which returns a @Bean ("*" )
) using a method that returns a collection of extra keys.
JsonSerializer.Simple
is JsonSerializer.Simple
class has been moved into the top-level {@link oaj.json.SimpleJsonSerializer} class.
RdfSerializer.Xml
-> {@link oaj.jena.RdfXmlSerializer}
RdfSerializer.XmlAbbrev
-> {@link oaj.jena.RdfXmlAbbrevSerializer}
RdfSerializer.N3
-> {@link oaj.jena.N3Serializer}
RdfSerializer.NTriple
-> {@link oaj.jena.NTripleSerializer}
RdfSerializer.Turtle
-> {@link oaj.jena.TurtleSerializer}
RdfParser.Xml
-> {@link oaj.jena.RdfXmlParser}
RdfParser.N3
-> {@link oaj.jena.N3Parser}
RdfParser.NTriple
-> {@link oaj.jena.NTripleParser}
RdfParser.Turtle
-> {@link oaj.jena.TurtleParser}
new Select().disabled(true )
will produce <select disabled='disabled'>
UriResolver
when request path info had special characters.
text/html+schema
instead of text/html
for schema documents).
RemoteableServlet
class has been moved and renamed to RemoteInterfaceServlet
.
RemoteInterfaceServlet
now provides a form page for invoking remote interface methods in a browser.
@HtmlDoc (script)
when serialized which could cause script lines to become commented out.
@Path ("/*" )
to access the path remainder which includes all the new OpenAPI parsing support.
ReaderResource
ReaderResourceBuilder
StreamResource
StreamResourceBuilder
nav()
are free-form HTML that gets rendered immediately after the navigation links.
$F
variable can now be used as a initialization time variable.
AtomFeedResource
example pulls a bean example from a file on the classpath:
$F
variable to retrieve localized versions of files (since you're not within
the scope of a client request.
RestResource.nowrap()
annotation has been changed to a string with a default value of @RestMethod (inherit)
annotation has been removed and replaced with the following classes:
Inherit
class.
RequestPathMatch
class has been renamed to {@link oajr.RequestPath}.
RedirectToServletRoot
class has been renamed to {@link oajr.helper.SeeOtherRoot}.
Accept
and Content-Type
headers:
RestCall.execute()
method.
RestCall.input(Object)
method renamed to {@link oajrc.RestCall#body(Object)} to match OpenAPI terminology.
RestClient
and RestClientBuilder
protected so that they can be subclassed.
RestClient.getRemoteableProxy()
methods have been split into separate methods for Remote Interfaces and Remote Resources:
RestClient.getRemoteInterface(Class)
RestClient.getRemoteInterface(Class,Object)
RestClient.getRemoteInterface(Class,Object,Serializer,Parser)
files
:
files
directory in the working directory,
and you have access to modify the CSS theme files.
SwaggerUI.css
file controls the look-and-feel of the Swagger UI, so you can make
modification there as well.
BasicRestConfig
interface (which defines the default settings for the BasicRestServlet
class)
now looks like this...
PoweredByApache
widget which used to serve as a page footer has been eliminated.