BCF-API
BCF-API copied to clipboard
Move Schema Definitions from JSON to swagger.yaml
We've discussed it in the group, we want to get rid of the embedded JSON schema files for all objects and instead only rely on a single swagger.yaml
file. For this, we'll have to do a bit of work:
- [ ] Work in the
feature/swagger-spec
branch - [x] Publish the API to SwaggerHub: https://app.swaggerhub.com/apis/buildingSMART/BCF/4.0
- [x] Automatically publish the
swagger.yaml
changes - [ ] Configure automatically publishing only to run for the
master
branch - [ ] Update the
swagger.yaml
file with all changes since the 3.0 release (its current state) - [ ] Remove the JSON schemas
- [ ] Update the links in the README to point to swagger hub (we can deep link both to actions as well as models there)
- [ ] Check the swagger.yaml on SwaggerHub and make sure it has no errors or warnings
We need to sync those items:
-
[x] https://github.com/buildingSMART/BCF-API/commit/84af26ddaa03be2dd44901e773d978aaa7e9b525#diff-ac8d0a54775f67811b0c24e33fd2fa997d59a30af88b696789daf117e3095391 https://github.com/buildingSMART/BCF-API/commit/3885f36a8b6437416db35fb367864c03f65930bf -> Custom fields ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/d92ce0deb550173b204d7c46d83428ee09b098a0 -> Change url parameter names ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/5cbce2ff4cac0d0854f4f40730db9988a81212df -> Topic relations ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/3b6653c0301a819ebb67a97533a43596aa7d3acf -> parent / child relations ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/c2584b006ac90f93886c64fbdf96cb9755ebb5c6 -> Viewpoint audit info ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/fa9aa9378ce3118d9f3fd2c224767eb54d809a4e -> translucency ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/56599838ce5072136ce069bcaf0514193ac6489d -> Remove BIM snippet ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/f4f5035b9c2c5f30363cc4012f6cddc580732780 -> Topic files in viewpoints ✔
-
[ ] https://github.com/buildingSMART/BCF-API/commit/0f3e26677589ad086a960baa786490fd235c5abe -> id and name properties
-
[x] https://github.com/buildingSMART/BCF-API/commit/6ce1ee5dc915b8d550ea0771457491f8551a497a -> markers ✔
-
[x] https://github.com/buildingSMART/BCF-API/commit/edfde645e1a53955ad2774374fc60f909f99b8c0 -> Main viewpoint guid ✔
Hello, will 4.0 be a new version in terms of breaking changes or is this just some cleanup regarding the swagger.yaml
?
Hey @NKnusperer, it'll be a new version sometime in the future. There have been a few new features, and also some breaking changes. We don't yet know when this will be released, but the work for moving away from the JSON schemas to the Swagger file won't be made for currently released versions.
Thank you @GeorgDangl.
After looking into the changes in master
compared to the current 3.0
specification the most interesting part seems to be the addition of custom_fields
which was something I was actually missing in 3.0
.
I'm in a very early stage of implementing the BCF API and I'm wondering what would be the best way to already start using this in a "compliant" way until this has been ratified. The first which comes to mind is declaring the version like /bcf/4.0-draft.2024.02
.
Any thoughts on this?
Well you can also just include the fields already in your endpoints, clients should ignore any fields they don't know about. So including extra information right now should just work, and those fields can be consumed by clients that know about it.