❯ Guillaume Laforge

How far should API definition languages go?

I had the pleasure of writing an article for Nordic APIs on Web API definition languages. If you’re into the world of Web APIs, you’ve probably heard of formats like Swagger, RAML or API Blueprint. They allow developers to define the contract of the API, with its endpoints, its resources, its representations, allowed methods, the kind of payloads it understands, the status codes returned, and more. With the contract of your Web API, you can generate code for your backend implementation or client kits, documentation for publishing the details of your API for your API consumers. Read more...

How far should API definition languages go

The most common API definition languages we spot in the wild are Swagger / OpenAPI Spec, RAML and API Blueprint. All three let you define your endpoints, your resources, your query or path parameters, your headers, status codes, security schemes, and more. In a nutshell, these definition languages define the structure of your API, and allow you to describe many elements. As standards in the API industry evolve, however, their purpose and design are under continuous scrutiny. Read more...

One API, many facades?

An interesting trend is emerging in the world of Web APIs, with various engineers and companies advocating for dedicated APIs for each consumer with particular needs. Imagine a world where your system needs to expose not only one API for iOS, one API for Android, one for the website, and one for the AngularJS app front end, but also APIs for various set-top boxes and exotic mobile platforms or for third-party companies that call your API. Read more...

Groovy default params to avoid one-argument methods being called without params

Recently, I saw an interesting tweet, mentioning a JavaScript trick using default parameters to make a parameter mandatory. In a language like Apache Groovy, when statically compiled, you’d get a compilation error if you forgot a parameter, because the signature couldn’t be found by the compiler. In dynamic mode, you’d get a runtime error though, with a MissingMethodException (and the error message should give you a hint as to which method you should actually call instead). Read more...

Groovy Weekly #77

It’s literally the eve of SpringOne2GX, in Washington DC! I’m flying tomorrow, for 9+ hours above the Atlantic, to gather with the cool kids of the Groovy ecosystem. I’m impatient to see some of my fellow readers and Groovy users around there. And let me wish the Griffon framework and its team a Groovy birthday! Releases Ratpack 1.0-rc-2, a second release candidate Gradle 2.7-rc-2 released Grails 3.0.5 released with the new Web API profile Grails 3. Read more...

Groovy Weekly #76

Is it really already September? Time flies so fast in the Groovy ecosystem, and although the northern hemisphere was taking some Summer vacation breaks (at least that’s what I did!) there was quite a bit of interesting content published! Regarding events, after successful and busy Greach, GR8Conf US/EU conferences, we’re getting ready for September’s SpringOne2GX in Washington! There’s still time to register and join the Groovy ecosystem affictionados! And I’m really eager to seeing you there. Read more...

Groovy Weekly #75

The not-so-weekly Groovy column is back for a summer edition on the shores of the Atlantic ocean (at least, that’s where I am now!) and there was a lot to catch up with in terms of news! Ratpack is almost at 1.0, only a couple of weeks to go for the mythical release, whereas Gradle arrived in version 2.6, and some updates to the two main Grails lines were out too. Read more...

Groovy Weekly #74

Although on a more irregular schedule, Groovy Weekly continues in the summer with its 74th edition, crossing the bar of the 3000 total news items tracked since it all started! Some interesting releases for this edition, like the Groovy 2.4.4 release under the Apache umbrella! After a failed attempt, our second try was succesful, and it was particularly important to get it right out the door, as an important security issue uncovered was fixed in this release, and all Groovy users (and frameworks and libraries using Groovy) should upgrade as soon as possible — especially as no older version will be released with the patch. Read more...

Groovy Weekly #73

It’s definitely not Tuesday, but nonetheless, lots of accumulated great and Groovy content to share with you all! It’s not easy to keep up the pace, sorry for the irregular timing of this column — I might have to remove the “Weekly” part of the name! But you won’t regret this edition, packed with so much content! Already one month gone by since GR8Conf Europe 2015, but we have content to share about the event! Read more...

Groovy in Action, 2nd edition is not a myth!

It took us a while to get it finished, but I assure you it was well worth the wait, and Groovy in Action, 2nd edition, is real! I just received my copies this morning! Congrats to my fellow co-authors, and in particular to Dierk and Paul for their patience and dedication to this project, without whom the book would have never gone through its print stage!