-
Notifications
You must be signed in to change notification settings - Fork 57
Docs 10035 develop compat matrix prototype oas3 pa--DON'T CLOSE #94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
priyaayyar
wants to merge
23
commits into
latest
Choose a base branch
from
DOCS-10035-develop-compat-matrix-prototype-oas3-PA
base: latest
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 6 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
2c7f2a4
DOCS-10035 added the compat matrix page
priyaayyar e1462e3
DOCS-10035 made updates
priyaayyar 0be0ac4
DOCS-10035-made updates
priyaayyar c0f21aa
DOCS-10035 made edits
priyaayyar 9998b46
DOCS-10035 made edits
priyaayyar 3bccc5e
Merge branch 'latest' into DOCS-10035-develop-compat-matrix-prototype…
priyaayyar 97c51a9
DOCS-10035 made edits
priyaayyar dc16024
DOCS-10035 made edits
priyaayyar 05b152d
Merge branch 'latest' into DOCS-10035-develop-compat-matrix-prototype…
priyaayyar cc6eb69
DOCS-10035 made edits
priyaayyar 459d266
Merge branch 'DOCS-10035-develop-compat-matrix-prototype-oas3-PA' of …
priyaayyar fa9afac
DOCS-10035 made edits
priyaayyar 0482bf1
Merge branch 'latest' into DOCS-10035-develop-compat-matrix-prototype…
priyaayyar 4ab0aa4
Merge branch 'latest' into DOCS-10035-develop-compat-matrix-prototype…
Rodgers-Glenn c67d8c3
Create api-spec-support-exchange.adoc
Rodgers-Glenn 4f3144b
Added exchange row and info
Rodgers-Glenn 021e846
Updated anypoint exchange specs per Priya's comments.
Rodgers-Glenn 075dd9e
Added API-Manager-Specs
Rodgers-Glenn fec77d5
Added api-specs-datagragh also fixed a few typos in other spec pages
Rodgers-Glenn 8d77cb3
Create api-spec-support-apikit.adoc
Rodgers-Glenn fccd464
Created Rest Connect Doc and fixed a few spacing typos
Rodgers-Glenn bd4d312
Changed a few wordings.
Rodgers-Glenn cff98f4
Added spec docs to nav, correct use of APIkit, updated name for spec …
Rodgers-Glenn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| = Anypoint Platform Compatibility Support for Restful-APIs | ||
| ifndef::env-site,env-github[] | ||
| include::_attributes.adoc[] | ||
| endif::[] | ||
|
|
||
| You can design an API in Anypoint Platform using the RESTful API Modeling Language (RAML) or the OpenAPI Specification (OAS) format based on your needs. Both RAML and OAS specifications implement a similar API model and provide the same features, except for the callback support in OAS 3.0. | ||
|
|
||
| RAML, which is optimized for design and reusability, implements _syntactic sugar_ to make descriptions smaller. Conversely, OAS enables you to simulate the components and libraries. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
|
|
||
| MuleSoft API Tooling, which includes parser AMF and Language server (ALS), provides interoperability using common metadata model and enables data definition reuse, use of linting rules, and provides translation in both RAML and OAS specifications. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
|
|
||
| //Jonathan--Why are we talking about API Tooling here suddenly? also, we need to give the users any best practice guidance here? | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
|
|
||
| Before you start designing an API, learn more about how each of the specification features are implemented and supported in Anypoint Platform products: | ||
|
|
||
| * xref:api-spec-support-api-designer.adoc[API Designer] | ||
| * xref:api-spec-support-exchange.adoc[Anypoint Exchange] | ||
| * xref:api-spec-support-api-manager.adoc[API Manager] | ||
| * xref:api-spec-support-datagraph.adoc[Anypoint Datagraph] | ||
| * xref:api-spec-support-api-kit.adoc[API Kit] | ||
| * xref:api-spec-support-rest-connect.adoc[REST Connect] | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| = API Specifications Support in API Designer | ||
| ifndef::env-site,env-github[] | ||
| include::_attributes.adoc[] | ||
| endif::[] | ||
| :keywords: api, instance, manager | ||
|
|
||
| You can implement your API specification in a way that best suits your needs. The following table explains how each of the features of the API specification is best implemented and the level of support provided for the specification in API Designer. | ||
|
|
||
| [%header%autowidth.spread,cols="a,a,a,a"] | ||
| |=== | ||
| | Feature: Description| RAML Implementation | OAS Implementation | API Designer Support | ||
| | Modularity: The ability to break an API specification into reusable and shared units. | Not applicable | Not applicable | Not applicable | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | API Document: The main API specification description metadata, which is the entry point for the specification. | RAML doc | OAS doc | The design of the API project console is rendered and the document and examples are validated. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Libraries: The unit containing collections of related reusable description elements. | RAML library | Implemented indirectly using an empty specification. Only components are supported in the OAS doc. | Edited as a stand-alone project. Supports the reuse of the module in an API project. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Fragments: Stand-alone component of the specification that describes a specific element. | RAML fragment | Implemented indirectly using an empty specification with only one declaration | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| or an OAS doc with a single component.| Edited as a stand-alone project and reuse of the module enabled in an API project. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Overlays: A partial description of the API specification that you can use to overwrite non-functional aspects of the API specification by composing it with the original specification, for example, translating the documentation to other languages. | RAML overlay | Can be simulated with JSON patch or merge tooling. | Can be edited and rendered correctly if used as main the project file. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Extensions: A partial description of the API spec that can be used to overwrite non-functional aspects of the API spec composing it with the original specification, like for example adding the security information for a managed API | RAML extension | Can be simulated with JSON patch or merge tooling. | Can be edited and rendered correctly if used as main the project file. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Reusability: The ability to reuse of the API description in multiple specifications. | Not applicable | Not applicable | Not applicable | ||
| | Inline declarations and references: The ability to declare and reference elements from multiple documents. | Inclusion and name refs, RAML type, traits, resource types, and annotations declarations. | JSON-Refs and OAS components. | Autocompletion when editing and dedicated rendering provided in the console. | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | Traits: Macros that extend operations in the functional model, such as pagination, that can be reused in multiple specifications for consistency | Operation macros and RAML traits | Not applicable | Autocompletion when editing and dedicated rendering in console. | ||
| | Resource types: Macros that extend resources in the functional model with complex behavior and data definition that can be reused in multiple specifications for consistency | Endpoint macros and RAML resource types | Not applicable | Autocompletion when editing and dedicated rendering in console. | ||
| | API Metadata | *Do we need this?*| | | ||
|
priyaayyar marked this conversation as resolved.
Outdated
|
||
| | API Entrypoint: The main entry point for the API description, mostly human-readable information, such as title, version, license, and so forth. | RAML document top level information | OAS Open API object| Can be edited and validated and enables console rendering. | ||
| | Server and protocols: Denotes the actual connectivity to the service | RAML base URI information | OAS Server object | Small differences in the supported protocols. | ||
| | Terms of service & licensing: The user agreement and licensing information of the API | Only plain documentation | OAS Info object | | ||
| | User documentation: ? | RAML description properties in different parts of the spec | OAS different 'description' properties in the spec 'objects' | Can be edited and validated and enables console rendering. | ||
| | Localized documentation: Specifies multi-lingual descriptions | Using overlays | Not applicable | Not applicable | ||
| | Tags: Classification of parts of the specification | Only use annotations | OAS Tag object | Not applicable | ||
| | Endpoints: Refers to the resources and RPC invocations in the API | RAML resources--RAML is more RESTful, which makes it explicit in its working with resources and allowing the nesting of those resources | OAS Path Item objects under the Paths object | Allows editing and validations, and enables console rendering. | ||
| | Methods and bindings to HTTP uniform interface: Includes operations over the resource and information about how to invoke the RPC operation. | Get, Patch, Put, Post, Delete, Options, and head RAML operations | Get, Put, Post, Delete, Options, Head, Patch, Trace and fixed fields under the OAS Path Item object | Allows editing and validations, and enables console rendering. | ||
| | Input parameters and HTTP bindings: Specifies the input parameters for the operation. | RAML parameters | OAS Parameter object | Allows editing and validations, and enables console rendering. | ||
| | Responses with multiple media types: Specifies the output parameter for the operation. | RAML responses | OAS Response object | Allows editing and validations, and enables console rendering. | ||
| | Responses with bindings to HTTP status codes: Specifies the binding to the HTTP status code. | RAML responses | OAS Response object | Allows editing and validations, and enables console rendering. | ||
| | Callbacks: Specifies the asynchronous invocations and webhooks. | Not applicable | OAS Callback object | Allows editing and validations, and enables console rendering. | ||
| | Links: Specifies the static connections between endpoints in the specification, excluding hyperlinks in the data. | Not applicable | OAS Link object | Allows editing and validations, and enables console rendering. | ||
| | OAuth 1.0: ? | RAML security schemes | Not applicable | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | OAuth 2.0: ? | RAML security schemes | OAS Security Scheme object | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | Basic: ? | RAML security schemes | OAS Security Scheme object | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | Digest: ? | RAML security schemes | Not applicable | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | API Key: ? | Not applicable | OAS Security Scheme object | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | Open ID Connect: ? | Not applicable | OAS Security Scheme object | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | Pass through: ? | RAML security schemes | Not applicable | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | Custom: ? | RAML security schemes | OAS Security Scheme object | Allows editing and validations, and enables console rendering. Note that the security schemes might be out-of-sync with actual policy in API Manager. | ||
| | JSON schema constraints and support: ? This is the base for both. RAML Types is a superset | RAML JSON support | OAS Schema object | Allows editing and validations, and enables console rendering. | ||
| | Schema Inheritance: ? RAML types specific | RAML type inheritance | *Simulated with `$allOf`, not proper inheritance, murky situation in OAS Schema??* | Allows editing and validations, and enables console rendering. | ||
| | Type expressions: ? RAML types specific| RAML type expressions | Not applicable | Allows editing and validations, and enables console rendering. | ||
| | XML Schema constraints and support: ? | RAML XML support provided indirectly through RAML 'xml' facets for RAML types. | Support provided indirectly through XML properties for the `Schema object` | Limited editing support provided. | ||
| | Examples: ? | RAML examples | OAS `Example object` | Allows editing and validations, and enables console rendering. | ||
| | Mandatory valid examples: ? | Not applicable | Not applicable | Allows validation | ||
| | Custom property extensions: ? | Annotations | OAS specification extensions | Allows editing and validations, and enables console rendering. | ||
| | Custom node extensions: ? | Complex annotations | Not applicable | Allows editing and validations, and enables console rendering. | ||
| | Extensions schema: ? | Annotations can have a schema and can be validated |Not applicable | Allows editing and validations, and enables console rendering. | ||
| | Extensions semantics: ? | Not applicable | Not applicable | Not applicable | ||
| |=== | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.