API開発ツール決定版?ApidogとSwagger、どっちを選ぶべきか本音レビュー
https://qiita.com/takuya77088/items/8f1ac524ae4c6211103c?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
Today's playlist is about the monthly flavour, to turn the page on all the jokes.
https://open.spotify.com/playlist/7bayojCvGPzbS7Gkg7ARJY?si=bGY8c8KdSom77RuuTjOzFw&pi=-FeYYXh8SNK-4
Scalar на замену Swashbuckle в .NET 9 и как это готовить с Design API First
Рассказываю чем заменить Swashbuckle, который убрали из .Net 9, для создания страницы похожей на Swagger UI.
https://habr.com/ru/articles/904738/
#web_api #aspnet_core #swagger #open_api #net_9 #dotnet_core #dotnet #typespec #webapi #openapi
🚀 New Release: API-Doc-Crafter just got sharper. Cleaner. Meaner.
Giving my little OpenAPI merging monster some upgrades.
It all started with a simple idea: merge OpenAPI specs from multiple repos.
Now? It transforms outdated Swagger specs to OpenAPI 3+, generates HTML pages with full navigation, and allows customization via config or env.
✨ SecurityRequirement deduplication - because why merge APIs if you can't also merge logic?
🧠 Custom metadata enrichment - inject your info, license, contact, and docs straight from config. No more excuses.
🔁 Better parser fallback - now tries more ways to read broken specs than your average intern in panic mode.
🎭 Variable substitution in outputs - ${variables} be gone. Use env or config, stay DRY, stay sane.
🧪 Tests expanded. HTML, JSON, YAML outputs covered like a nuclear bunker.
🧰 Powered by GraalVM, no reflection, blazing fast.
🐳 Native Docker builds.
🧼 Reflection config surgically trimmed. Less bloat. More edge.
Project: https://github.com/YunaBraska/api-doc-crafter
Happy crafting. And remember: if your docs aren't automated, they're probably lies.
#OpenAPI #Swagger #APIdocumentation #DevTools #GraalVM #Java21 #Docker #Automation #CleanCode #DevLife #APIDocs #OpenSource #DeveloperTools #coding #programming
Измерение покрытия API тестами на основе Swagger для Python
В этой статье я расскажу про swagger-coverage-tool — инструмент, который показывает, насколько полно ваши тесты покрывают API по спецификации Swagger (OpenAPI). Всё работает автоматически, без изменений в логике тестов. Поддерживаются httpx и requests , отчёт генерируется в один клик. Идеально, если вы хотите объективно видеть, что действительно проверяют ваши API автотесты.
https://habr.com/ru/articles/898474/
#python #coverage #тестирование #qa_automation #покрытие #покрытие_требований #qa #swagger #тестовое_покрытие #http
For REST 📡 API's written in Go 🚶, you should take a quick look at github.com/go-fuego/fuego. Getting an OpenAPI-Spec 📜 & a SwaggerUI 🖥️ without any extra effort, is a huge win!
#REST #API #GoLang #OpenAPI #Swagger #SwaggerUI #Fuego #GoFuego #WebDevelopment #GoProgramming #APIManagement #ProgrammingTips #TechStack #OpenSource
Représenter du XML dans une documentation Swagger/OpenAPI/OAS.
🔗 https://swagger.io/docs/specification/v3_0/data-models/representing-xml/
Having played a bit I'm now adding #OpenAPI docs with #Swagger UI to #Autonomi dweb using #utoipa and #utoipauto.
EDIT: switched from #utoipauto to #utoipa_actix_web
I'm neither a user nor, until now a builder of HTTP APIs so stumbling around, but these crates do a decent job of being usable even to a novice.
I really shouldn't be let loose with all this :rofl:
Авто-генерация типизированных API контроллеров на клиенте из Swagger
Зачастую нам приходится описывать API-запросы или переписывать уже имеющиеся ввиду изменения каких-то DTO (Data Transfer Object) или параметров у запросов. Это вполне естественно для разработки, но часто оказывается скучным и однотипным процессом, не требующим размышлений или особых навыков. В этой статье я рассказываю, как автоматизировать всю эту историю.
https://habr.com/ru/articles/893150/
#swagger #swaggertypescriptapi #openapi #codegen #typescript #api #apicodegeneration #автоматизация #clientapi #клиент
Очередное решение для разработки API и не только
Возможно, вы не слышали о Sunrise экосистеме , так или иначе, сегодня я поделюсь опытом разработки API , используя Sunrise решения и не только.
I’ve recently taken a closer look at the #Foursquare #API (updating the long unmaintained Platypush plugin, details on why coming soon).
At first their new API versioning schema seemed a bit confusing (why would anyone use arbitrary YYYYMMDD
strings as versions?), but a closer look at how they implemented it revealed a quite clever design decision:
Versioning is controlled by the
v
parameter, which is a date that represents the “version” of the API for which you expect from Foursquare. It is designed to give developers the freedom to adapt to Foursquare API changes on their own schedule. The value of the v parameter is a date in YYYYMMDD format that lets you tell us “I’m prepared for API changes up to this date.”
You know when you look at an engineering decision that is so elegant and obvious that you think “damn, how could nobody think of this before?”
Nearly two decades spent managing /v1
, /v2
, /v2.5
, /v2.almost3
, /v3
, managing migrations and deprecations, documenting breaking changes, introducing exponentially thicker layers of schemas and converters, and the obvious solution was just there under our nose.
Why don’t you just start with defining the base schemas of your API objects at the time of their first release, and then every time you add, modify or delete a field, or change some return type, or add a value to an enum, you just version the change with a timestamp?
Let the developer say “I understand the language that your API spoke 3 months ago”, and you just dynamically create the schemas, GraphQL or ORM snippets to parse requests and responses as of that date.
No more breaking changes. No more forced migrations. No more boilerplate to explicitly convert payloads across different API versions.
You construct the response by first applying the base schema, and then gradually patching it - just like you would do with a git rebase, or an ORM migration tool.
A downside may probably be that you can never really delete a column from the db if it was ever used by any version of your API.
And a challenge may also be to adapt tools like #OpenAPI / #Swagger that were designed around static schemas to also work with “dynamically versioned” selections.
But to me the problems it solves far outweight the downsides.
Happy Birthday, #SirVivRichards.
March 7.
Good health and best wishes to you.
Cannot forget your #swagger and the immense #joy you gave cricket fans all over the world when you played the gentleman's game.
I've been searching for a library to generate Rust types from an OpenApi specification but I'm not able to find a good solution yet...
I'm looking for something like `generate openapi.yaml generated.rs` where `generated.rs` would hold the types and validations specified in the spec.
Does anyone know of any solid solution for such endeavor?
New entry of AI-generated #comics and #jokes added to our #website:
comics.lucentinian.com/4160
#AIGeneratedJokes #AIHumor #DailyComedy #VisitNow #NewsLaughs
May we have a show of hands for this #TuneTuesday ? #ShowUsYourHands ✋🤚
Hand Back Down #TheDevilMakesThree
@linos@graz.social #Forgejo has the option to create a release via API call:
https://forgejo.org/docs/latest/user/releases/#creating-a-release-through-the-api
Since #Codeberg is just a branded Forgejo instance, this should work there as well...I hope so at least.
So instead of manually creating a release from a tag on the releases page, you could try creating one with a custom #CI action/pipeline.
There is #Swagger UI available for the Forgejo API, so you can easily check out all options. As far as I can see you can specify the name of the release and its assets.
#CICD #Pipelines
Line 40 : Chaos and Swagger
"'My dougie' signals confidence and skill. The speaker navigates chaos (Pollock) with flair, turning pain into power through their pen. A bold declaration of mastery. #Swagger #CreativeExpression #InMyBag"
What line resonated with you the most? Let me know in the comments!"
Check out the full track here: [Listen to Bws Nino-drove the rolls royce droptail into heaven.mp3 by BIGG SMINO 2.0 on #SoundCloud https://on.soundcloud.com/BQh4fycAQ1dvGVzbA]"