Skip to content

Commit 5b1f683

Browse files
authored
Update README.md
1 parent fb80742 commit 5b1f683

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,43 @@
11
# openapi-implementation-tracker
22
A repo to track openapi implementations
3+
4+
## Project Goals
5+
There are many many openapi implementations, but it is unclear exactly which features they support, and which version of openapi document they support.
6+
One can curate a list but it will become out of date as time goes on. We can do better than manual curation of a list.
7+
Instead, a listing of a projects supported features should be maintained by individual projects with a standard file format.
8+
This project defines that standard file format, and will inlcude all of those files in one place and collate the data into a listing of implementations with suppoted features.
9+
When new features are added, the workflow is:
10+
- source project udates their supprted feature file; file PR
11+
- this project updates the git submodule to pull in the latest version of that file; file PR
12+
- updates published to github pages
13+
14+
## What would this Standard File Look Like?
15+
- Json schema definitions of openapi documents exist here and are versioned: https://github.com/OAI/OpenAPI-Specification/blob/main/schemas/v3.0/schema.yaml
16+
- I propose writing files based on that yaml where the json paths are preserved, and the values are an object:
17+
```
18+
FeatureSupportInfo:
19+
type: object
20+
properties:
21+
supported:
22+
type: boolean
23+
docUrl:
24+
type: string
25+
verificationTestUrl:
26+
type: string
27+
required:
28+
- supported
29+
```
30+
So for example if root document servers are supported, the value for `#/servers` would be an instance of FeatureSupportInfo
31+
32+
Questions:
33+
- Can this be one already using additionalProperties?
34+
- Can one json schema file extend another?
35+
36+
## Todo
37+
- demonstrate git submodule connection to one file
38+
- see https://stackoverflow.com/questions/6238590/set-git-submodule-to-shallow-clone-sparse-checkout
39+
- see https://web.archive.org/web/20150819045120/http://blog.quilitz.de/2010/03/checkout-sub-directories-in-git-sparse-checkouts
40+
41+
## Similar-To Projects
42+
- https://github.com/OAI/Tooling
43+
- https://github.com/apisyouwonthate/openapi.tools

0 commit comments

Comments
 (0)