Juliacon 2024

OpenAPI.jl for easy HTTP APIs
2024-07-10 , Method (1.5)

The OpenAPI Specification is a machine-readable interface definition language for HTTP APIs. The Julia package OpenAPI.jl along with Julia code generator plugins to OpenAPI Generator help use OpenAPI in Julia projects. This talk will focus on giving a broad overview of OpenAPI and will demonstrate end-to-end examples of using it in Julia - begin with a specification file, generate both server and client side code, generate docs, publish, and use a service.


OpenAPI is a popular specification language for HTTP APIs. Many popular HTTP services publish specifications for their APIs in the OpenAPI format. It is useful in defining, versioning, and managing APIs for applications architected with HTTP based services. The Julia package OpenAPI.jl, along with its corresponding plugin to the openapi-generator project provides a way to leverage that in Julia applications.

This talk will aim to give a quick introduction of OpenAPI, and demonstrate how to use the OpenAPI.jl package in Julia. It would demonstrate how to generate a Julia client quickly to consume a third party service that has published an OpenAPI specification, which is probably a common need. It would also walk through the complete process of defining a spec and generating both server and client side code in Julia.

During the talk, at various points, we shall touch upon some internals of the package and code generator, and also some opportunities for improvements.

Author and contributor of various packages across the Julia ecosystem. Mostly involved with packages in JuliaWeb, JuliaIO, JuliaParallel and JuliaDatabase orgs. Currently working with JuliaHub Inc., focussing on the JuliaHub platform and cluster management pieces.

This speaker also appears in: