Coming soon in Payara Platform Community 5.2020.3 Release: OpenAPI Refactor
Originally published on 16 Jul 2020
Last updated on 16 Jul 2020
The Payara Platform 5.2020.3 release (coming soon!) introduces major refactoring and architectural changes to the underlying implementation of MicroProfile OpenAPI 1.1.2.
The goal of the OpenAPI specification is to provide a standard format for documenting REST API services which is extremely useful, as it follows a standard and it can be used in a range of tools such as those provided by the Swagger suite. These let you do all sorts of things such as design, edit, and test a REST API documented by an OpenAPI document.
While MicroProfile OpenAPI has been covered in the previous blogs, some important changes will be introduced in this coming release that we will be covering here.
Multi Document Definition Support
An OpenAPI document looks similar to the following for a deployed application:
openapi: 3.0.0 info: title: Deployed Resources version: 1.0.0 servers: - url: http://jGauravGupta:8080/school-app description: Default Server. - url: https://jGauravGupta:8181/school-app description: Default Server. paths: /resources/student: get: operationId: info responses: default: content: '*/*': schema: type: object description: Get the student information
components: {} |
Since 5.2020.3 Payara Platform will support merging of the multiple documents fetched from the deployment of multiple applications to the Payara Server.
The following OpenAPI document is merged document definition of two deployed application named school-app & office-app with the respective REST endpoint /resources/student & /resources/employee:
openapi: 3.0.0 info: title: Deployed Resources version: 1.0.0 Servers: - url: http://jGauravGupta:8080/school-app description: Default Server. - url: https://jGauravGupta:8181/school-app description: Default Server. - url: http://jGauravGupta:8080/office-app description: Default Server. - url: https://jGauravGupta:8181/office-app description: Default Server. paths: /resources/student: get: operationId: info responses: default: content: '*/*': schema: type: object description: Get the student information /resources/employee: get: operationId: info responses: default: content: '*/*': schema: type: object description: Get the employee informationcomponents: {} |
As you may notice, servers and paths property contain the value of the OpenAPI document of both the applications.
Document Processing Improvements
The MicroProfile OpenAPI implementation of the Payara Platform is rewritten using the HK2 Class Model and ASM API that simplifies the implementation, leads to performance improvement of the OpenAPI annotation processor and produces faster results.
OpenAPI Scanner for Packaged Archive
The OpenAPI can also be configured through the MicroProfile Config API. By default, the scanner is disabled for packaged archives. By enabling the MP Config property “mp.openapi.scan.lib”, OpenAPI implementation includes and scan the packaged jar files inside the WAR file (WEB-INF\lib) for OpenAPI metadata processing.
Watch this space for the new Payara Platform Community Edition release coming soon! Don't miss the announcement and subscribe to the Blog via a simple form at the top of this page.
Related Posts
The Payara Monthly Catch - November 2024
Published on 28 Nov 2024
by Chiara Civardi
0 Comments
What’s New In The Payara Platform November 2024 Release?
Published on 20 Nov 2024
by Luqman Saeed
0 Comments