Skip to content
OpenAPI 3 parser, schema and request validator.
Java Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
gradle/wrapper
openapi-core
openapi-operation-adapters
openapi-operation-validator
openapi-parser
openapi-perf-checker
openapi-schema-validator
.editorconfig
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
README.md
build.gradle
gradlew
gradlew.bat
publish.gradle
settings.gradle
travisbuild.sh

README.md

Build Status Maintainability Rating Security Rating Coverage

OpenAPI for java project home

This is the home page of the openapi4j project for Java (Jakarta or JVM platform in general).

openapi4j is a suite of tools, including the following :

  • Open API specification parser and validator.
  • Open API Schema Object validator.
  • JSON reference implementation.
  • Request/response validator against operation.
  • For internal use only, performance project reports some numbers to 'manually' check any improvements or regressions between versions.

Modules

  • Parser allows the (de-)serialization and manipulation of the schema and its validation.
  • Schema validator allows the validation of data against a given schema.
  • Request validator is high level module to manage validation for requests and/or responses against operations. More details in the related project.
  • Request adapters is the repository of specific adapters to wrap requests and responses.

Versioning and compatibility

All modules follow the Semantic Versioning 2.0.0 and are aligned on each release even there's no changes.

<dependency>
    <groupId>org.openapi4j</groupId>
    <artifactId>openapi-[module]</artifactId>
</dependency>

Release version Snapshot version

Snapshot is available for latest valid commit on master branch.

Performance

Check perf-checker project for some values.

Supported versions

The modules currently support the OpenAPI Specification (OAS) version 3.x.x.

This project has been developed while reading 3.0.2.
See related projects for limitations and issues.

Roadmap

  • See CHANGELOG.md for previous versions
  • 0.3 :
    • Complete response validation implementation.
  • 0.4 :
    • Validate parameter from content property.
    • Fast failing behaviour.
  • Next :
    • Ready for 1.0 candidate ?

Common until version 1.0 :

  • bug fixing / code coverage.
  • Quality of life accessors/features elected as easy and not risky.

Contributing

Reporting issues, making comments, ... Any help is welcome !

We accept Pull Requests via GitHub. There are some guidelines which will make applying PRs easier for us :

  • Respect the code style and indentation. .editorconfig file is provided to not be worried about this.
  • Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
  • Provide JUnit tests for your changes and make sure your changes don't break anything by running gradlew clean check.
  • Provide a self explanatory but brief commit message with issue reference if any, as it will be reported directly for release changelog.

License

openapi4j and all the modules are released under the Apache 2.0 license. See LICENSE for details.

You can’t perform that action at this time.