opendata-for-all / openapi-metamodel Goto Github PK
View Code? Open in Web Editor NEWThe OpenAPI metamodel
License: Eclipse Public License 2.0
The OpenAPI metamodel
License: Eclipse Public License 2.0
The exporter only covers a part of the definition. We need to extend it to generate a complete OpenAPI definition from an OpenAPI model
Find a way to include vendor extension in the metamodel, exporter, and importer
To remove a top-level security declaration, an empty array can be used for the security
field of an operation. With the actual implementation of the metamodel we cannot differentiate between operations that include an empty array for security
and the operations which do not declare security.
Hi,
I tried to build the project using maven but it failed.
This is the exception:
[INFO] Reactor Summary:
[INFO]
[INFO] OpenAPI 2 metamodel 2.1.0-SNAPSHOT ................. SUCCESS [ 0.062 s]
[INFO] plugins ............................................ SUCCESS [ 0.003 s]
[INFO] edu.uoc.som.openapi2.mm ............................ FAILURE [ 0.497 s]
[INFO] edu.uoc.som.openapi2.io ............................ SKIPPED
[INFO] features ........................................... SKIPPED
[INFO] edu.uoc.som.openapi2.feature ....................... SKIPPED
[INFO] releng ............................................. SKIPPED
[INFO] edu.uoc.som.openapi2.target ........................ SKIPPED
[INFO] edu.uoc.som.openapi.update 2.1.0-SNAPSHOT .......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20.061 s
[INFO] Finished at: 2019-07-23T11:12:45-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:1.3.0:package-plugin (default-package-plugin) on project edu.uoc.som.openapi2.mm: /home/miguel/Downloads/openapi-metamodel-2.1.0/openapi2/plugins/edu.uoc.som.openapi2.mm/build.properties: bin.includes value(s) [bin/] do not match any files. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :edu.uoc.som.openapi2.mm
It can be fixed if you remove "bin/" from build.properties#L8.
Thanks,
Miguel
PD: Any plans for releasing the metamodel to a maven repository? No pressure at all---I could continue working with jitpack.
Elements that can be declared in different locations should use declaringContext
to generate properly the definition
The current implementation of the metamodel uses items
to set the type of the items of an array in a Schema definition.
However, even though it's not common in OpenAPI definitions, JSON schema allows the definition of tuples by setting the value of items
to an array where each item is a Schema which corresponds to the type of each index.
The importation fails when `items``contains an array (tuple definition) instead of an object (array definition).
Hello,
While comparing and reading into the model, I found that the "Property" Class misses the attribute "name".
(In the OpenAPI2 Model, it is realize)
Because of that, it will not be possible to refer to properties by their name.
Thanks and Best Regards,
UniMa007
allOf
elements do not appear in the generated JSON definition from an OpenAPI model.
Remove classpath dependencies and convert the Jars to OSGI bundles.
We can use a Gradle script for that. Here is an example:
https://github.com/OpenReqEU/eclipse-plugin-vogella/tree/master/eclipse/dependencies
The actual implementation does not allow the creation of a response definition which could be used by many operations. A response definition a response which could be declared at the API level and used by operations for a particual HTTP Status or as default response.
Hello Hamza,
Thanks for your work and your open source contribution to an OpenAPI 3 meta model.
Such a metamodel can be very useful for M2M transformations of APIs, thus potentially bridging the GAP between "TransferObjects" and "Business Objects" in a very rigorous way.
Do you have a link to buy you a beer? :)
Regards,
M.
Validate the definition during the importation process.
I have tried to execute and see the report ( i.e mvn test) but no output generated in that project. could you please let me know the procedure or commands for testing this model.
By doing so, users can seamlessly include the metamodel to their project using Maven
This API has support for OpenAPI and YAML and has minimum dependencies.
The elements Parameter
, Response
, Schema
, and SecuityDefinition
can be included in the API element and be referenced elsewhere in the definition. We should unify how this is done across all theses elements (using a super class).
Required properties are designed as a reference in the Schema
element. Now that we separated schema from schema properties (we introduced a new Property
element), it would be better to include a boolean
attribute in the Property
element to specify required properties. We also need to update the importer and exporter accordingly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.