Did a bunch of #OpenAPI #contract-testing with @microcksio lately 😂 The nice point is that the history bar chart scales pretty well!
📣 I'll be happy to meet you next week at #APIdays London, September 13 & 14, 2023 where I'll be talking about "Challenges of #API #contract-testing" and how we solve 'em at scale with @microcksio 🚀
#apidays #api #contract #testing #microservices #openapi #graphql #grpc #asyncapi
Developer question, I’ve been looking into the new #Swift #OpenAPI generator announced during #WWDC23. I have an OpenAPI spec file taken straight from a #Python #Django server, it all seems to work fine inside Xcode using the dynamic build plugin. I’ve noticed though that the various client methods corresponding to API endpoints use the operationID as defined in the schema, resulting in snake case method names such as get_scheduled_events() instead of camel case getScheduledEvents() which would be the proper convention for Swift. This also goes for names of schema components defined in the spec. Is this expected and just the cost of using a generalized code generator, or am I doing something wrong? Is there some way to override this by e.g. defining method and schema model names manually using the CodingKey protocol, or do I need to convert operationIDs and schema names in my spec from snake to camel case? This is my first time ever looking into OpenAPI, so possibly I’m missing something obvious.
#swift #openapi #wwdc23 #python #django
"Getting Creative with OpenAPI" -- my next article in the #LanguageOfAPIDesign series in #APIDesignMatters, where I walk through many aspects of defining a resource creation operation in #OpenAPI https://apidesignmatters.substack.com/p/getting-creative-with-openapi #APIs
#apis #languageofapidesign #apidesignmatters #openapi
Idag har jag upptäckt och lekt med https://fejka.nu/
En gratis tjänst som genererar random(men korrekt uformade) personuppgifter, baserat på Skatteverkets öppna API(som är mer komplicerat att använda). Ja, personuppgifter som du kan använda för att testa system med, använda i en bok eller i en film, eller i något helt annat syfte som jag inte kommer på just nu. #OpenAPI #TestData
Writing a parser for the #CyberDX #sbom #json parser.
Because it might be eventually useful in the #perl core (unsure due to vagueness with upcoming EU CRA regulations), I can't use a standard #OpenAPI validator and I'm crafting it by hand with core Perl.
It's fun, but much harder!
#cyberdx #SBOM #json #perl #openapi
💻 Deprecating a package with 200,000 installs a week feels funny, but I've been waiting for a chance to bin off swagger-cli for ages. It's not being maintained (some upstream dependencies are which helps) but even the name is out of date. Thankfully the #Redocly CLI does everything it did, but better, so I recommend you go use that.
More deprecations of old #OpenAPI tooling to come as I find more viable modern alternatives.
#APIDesign #APIDevelopment #OpenSource
https://www.npmjs.com/package/@redocly/cli
#redocly #openapi #apidesign #apidevelopment #opensource
💻 Woah, I'm reviewing @Redocly CLI and I just noticed the amazing split command!
$ redocly split api/openapi.yaml --outDir output/
This will neatly split a sprawling messy #OpenAPI description into multiple documents using $ref, reducing duplication, making it easier to work with.
#openapi #apidevelopment #apidesign #rest #http
Is there any existing #rustlang crate that validate requests against an #OpenApi specification?
I know I could generate the spec with the code, but I like to write my specification all by myself (don't wanna be 🎶 ) and then I want to verify that my incoming requests matches the specification
#rustlang #openapi #actix #api #rest
New project alert! #openapi models built on System.Text.Json. Supports v3.0.x and v3.1!
https://www.nuget.org/packages/Graeae.Models/#readme-body-tab
And before I forget, I discovered "streams" support in #jq and thought it was pretty nifty so I wrote a short article about it: https://blog.oddbit.com/post/2023-07-27-jq-streams/
In particular, we look at how to remove a particular attribute (`description`) that could occur at any level in a deeply nested JSON document (an #OpenAPI spec).
💻 Switching to #GreenTech means I can no only work with software companies who are named after plants or trees. Sorry, I don't make the rules. #DevEx #OpenAPI #APIDeveloper https://apisyouwonthate.com/blog/generate-typescript-rest-api-client-fern/
#greentech #devex #openapi #apideveloper
In today's blog post we will discuss whether #OpenAPI or #AsyncAPI is best for communicating the ins and outs of your #API
🧐 Have you ever wondered in which cases both standards reveal their strengths and weaknesses ?
You will know after this read ⬇️
https://bump.sh/blog/asyncapi-vs-openapi?utm_source=mastodon&utm_medium=social&utm_campaign=blog-asyncapi-vs-openapi
Redocly Brings Enhanced OpenAPI Experience to JetBrains IDEs | The JetBrains Blog
@b0rk @randomgeek @hbuchel It’s funny how most “#RESTful” #WebServices have similarly missed the full point of @fielding’s actual #REST “just normal web things” style by not using hypertext as the engine of application state (#HATEOAS).
They’re just replaying all of #SOAP’s and #CORBA’s sins by relying on a fixed interface that is either revealed through documentation or an #InterfaceDescriptionLanguage like #OpenAPI.
#restful #webservices #rest #hateoas #soap #corba #interfacedescriptionlanguage #openapi
Wow! There is a json_schemer 2.0 PR with support for Draft 2020-12, OpenAPI 3.1 and output formation. David is on fire! #ruby #openapi #jsonschema
using annotation mapping with lombok
https://medium.com/@hauner/object-annotation-mapping-lombok-4b9f0c3459b5
#openapiprocessor #openapi #springframework
Wrote a new blog post about OpenAPI specifications. Maybe you need something to read? Tell me your thoughts. Thx.
https://www.brocksi.net/blog/openapi-specification-or-the-most-underrated-feature/
#openapi #shopware #typescript