RE: https://mastodon.green/@pesche/112167632786036623

New MicroProfile OpenAPI #blogpost: third installment in the series, adding the Quarkus OpenAPI Generator to the comparison of the design-first approach:

https://pesche.schlau.ch/2025/11/19/microprofile-openapi-design-first-quarkus/

#TechAtWorldline #java #quarkus #microprofile #openapi #opensource #designfirst
@quarkusio

Nearly a decade into covering #DevOps, I'm still most fascinated by stories about how organizations approach #appmodernization and addressing #techdebt.

I had the opportunity recently to interview Ben Heil of Paylocity on that topic, and he shared insights into the product updates and development workflows that will help his teams move to #eventdriven #microservices and an #API #designfirst architecture.

https://www.techtarget.com/searchsoftwarequality/news/366627952/Paylocity-plans-API-design-first-shift-to-modernize-apps

Paylocity plans API design-first shift to modernize apps

A principal engineer says Postman's Spec Hub will help the company shift to a spec-first API development process for its event-driven microservices architecture.

TechTarget
@teixi @mamund @allenholub When adding a new API endpoint I start with writing an OpenAPI description and review, refine it with others. We are using the API description for request validation and parameter parsing. On production. We run response validation through the API description during testing.
This helps a lot to keep your docs and implementation aligned.
This #APIfirst #DesignFirst approach works nice and I would like more people to talk about it.

Hey my ruby gem "openapi_first" just hit 100 stars 🌠 on Github. Yay!

openapi_first is a library to make sure your API implementation is aligned with your OpenAPI API description. And it also comes with a rack middleware to do request validation through your OpenAPI API description. Wow! 🚀

Feedback would be much appreciated. Please check it out at https://github.com/ahx/openapi_first

#ruby #openapi #designfirst #apifirst #api

GitHub - ahx/openapi_first: openapi_first is a Ruby gem for request / response validation and contract-testing against an OpenAPI API description. It makes APIFirst easy and reliable.

openapi_first is a Ruby gem for request / response validation and contract-testing against an OpenAPI API description. It makes APIFirst easy and reliable. - ahx/openapi_first

GitHub

Design-first means that you describe your HTTP API (with OpenAPI) before writing any line of server code.
Now there are libraries to turn your API description into a request validation middleware. On production. With that, you not only have reduced the LOC required to implement the API, but also make sure that your API description matches your implementation. Great, right?

I'd like to learn why most APIs still are not build that way. Any thoughts?

#openapi #APIfirst #DesignFirst #apidesign

openapi_first is a Ruby gem for request / response validation and contract-testing against an OpenAPI API description. It makes APIFirst easy and reliable.

Version 2.0 has just been released. 🎉

New features:
- Hooks like `after_response_validation`, which you can use for metrics for example
- Test assertion method `assert_api_conform(status: 200)`
- Performance improvements

Check it out: https://github.com/ahx/openapi_first?tab=readme-ov-file#openapi_first

CHANGELOG: https://github.com/ahx/openapi_first/blob/main/CHANGELOG.md

#openapi #ruby #APIfirst #DesignFirst #rails

GitHub - ahx/openapi_first: openapi_first is a Ruby gem for request / response validation and contract-testing against an OpenAPI API description. It makes APIFirst easy and reliable.

openapi_first is a Ruby gem for request / response validation and contract-testing against an OpenAPI API description. It makes APIFirst easy and reliable. - ahx/openapi_first

GitHub

Be careful when updating your swagger-codegen dependency, you might want to avoid
version 3.0.57 and stay with 3.0.56; fortunately my #unittests detected the problem
before breaking more, but it took me some time to find the cause and that an issue
has been opened already three weeks ago:

https://github.com/swagger-api/swagger-codegen-generators/issues/1295

#TechAtWorldline #java #openapi #opensource #designfirst #swagger #codegen

`@NotNull` is added by default for fields that are not required · Issue #1295 · swagger-api/swagger-codegen-generators

Given the following step: Swagger Definition: address_start_date: type: string format: 'date-time' example: "2011-12-03 10:15:30" description: | Start Date for address swagger-codegen-maven-plugin ...

GitHub

New MicroProfile OpenAPI #blogpost: second installment in the series, this one about the design-first approach,
using #swagger-codegen and #openapi-generator:

https://pesche.schlau.ch/2024/03/27/microprofile-openapi-design-first/

#TechAtWorldline #java #quarkus #microprofile #openapi #opensource #codefirst #designfirst
@quarkusio

MicroProfile OpenAPI—Design First

You’re given the task of writing a microservice AND providing a documentation in OpenAPI format. You already know that there are two main approaches: code-first : write the code, using OpenAPI annotations, and then generate the OpenAPI document design-first : write the OpenAPI document (a.k.a. the openapi.yaml file) and then generate the code This is the second article in a series and reviews the design-first approach, the code-first approach was the subject of the first article.

Pesches Schlauch
A "fun" article that does a great job illustrating the complexity of technical implementation (and the value of doing design right, up-front). #engineering #complexity #DesignFirst
https://bit.ly/495cP3C
The ridiculous policy that forced engineers to come to the office at 2 AM twice a year

And how it may affect you

Leading Developers

MicroProfile OpenAPI: review of using the the code-first approach with Quarkus (the design-first approach will follow in a separate installment).

New #blogpost: https://pesche.schlau.ch/2023/12/01/microprofile-openapi-code-first/

#TechAtWorldline #java #quarkus #microprofile #openapi #opensource #codefirst #designfirst
@quarkusio

MicroProfile OpenAPI—Code First

You’re given the task of writing a microservice AND providing a documentation in OpenAPI format. You already know that there are two main approaches: code-first : write the code, using OpenAPI annotations, and then generate the OpenAPI document design-first : write the OpenAPI document (a.k.a. the openapi.yaml file) and then generate the code This article reviews the code first approach, the design-first approach will follow in a second article at a later time.

Pesches Schlauch