Coming soon in Payara Platform Community 5.2020.3 Release: OpenAPI Refactor

Payara

 

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 information
components: {}

 

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-INFlib) 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.

 

Comments (0)

Post a comment

Your email address will not be published. Required fields are marked *

Payara needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Legal & Privacy Policy.

Related Posts

payara qube logo 5 minutes
Payara

Payara Cloud Is Now part of Payara Qube family of Unified Platforms for Enterprise Java

Payara Cloud is becoming part of Payara Qube family of Java application deployment runtimes. This move reflects how the […]

Payara promotional graphic showing transition from Spring to Jakarta EE, including technology logos, a code icon and arrows leading from Spring to Jakarta EE. 6 minutes
Jakarta EE

From Spring Boot To Jakarta EE 11: How Payara Starter Eases The Transition

If you’ve been living in the Spring ecosystem, you’re used to fast project setup. Spring Initializr gives you a […]

Promotional graphic for a podcast episode titled “Why Open Source is the Future of Business Innovation - A conversation with Arun Gupta”. The podcast is hosted by Payara Community. The right side features a photo of the speaker, Arun Gupta, labeled as a “VP, Developer Experience at JetBrains”. The design uses dark blue and teal backgrounds with coral and fish illustrations. 2 minutes
Community

Payara Podcast – Why Open Source is the Future of Business Innovation – A Conversation with Arun Gupta

Open source is no longer a developer-only concern — it’s at the heart of how modern businesses innovate, build […]