orval VS openapi-generator

Compare orval vs openapi-generator and see what are their differences.

orval

orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺 (by anymaniax)

openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) (by OpenAPITools)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
orval openapi-generator
20 234
2,278 19,899
- 1.9%
9.6 9.9
7 days ago 4 days ago
TypeScript Java
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

orval

Posts with mentions or reviews of orval. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-15.
  • HonoJS: Small, simple, and ultrafast web framework for the Edges
    9 projects | news.ycombinator.com | 15 Apr 2024
    In cases where the client needs to stay separate, we have had a good experience with Orval[1] to generate a fully-typed @tanstack/query client from our OpenAPI spec.

    [1] https://orval.dev/

  • Litestar – powerful, flexible, and highly performant Python ASGI framework
    8 projects | news.ycombinator.com | 26 Feb 2024
    - Vite/React/Tailwind for the frontend, with [Orval](https://orval.dev/) to generate FE definitions based on the API spec.

    For non-API/SPA use-cases, it also has good HTML support, with built-in Jinja and HTMX integrations. The docs are great (https://docs.litestar.dev/latest/ - not quite Django-tier but that's the gold standard), however the reference application is a tad too complex imo (https://github.com/litestar-org/litestar-fullstack).

    https://github.com/litestar-org/awesome-litestar has a list of useful extensions - highly recommend trying it out if you are starting a new Python web project.

  • How to Automatically Consume RESTful APIs in Your Frontend
    13 projects | dev.to | 25 Jan 2024
    In order to generate the API client, there are a few options available, but we are going to use (Orval)[https://orval.dev]. Orval is a CLI tool that generates API clients based on an OpenAPI specification. It supports TypeScript, JavaScript, Axios, React, Vue, Angular and Svelte and it's highly customizable.
  • Getting the most out of vscode
    1 project | dev.to | 24 Jan 2024
    I would use "reveal": "never" if I don't care about the results of the command, for example, I generate swagger types using orval.dev on every folder open, but I want this to run in background as it's not that important, so I use "reveal": "never" for it.
  • Mock Service Worker(msw) releases 2.0
    8 projects | news.ycombinator.com | 23 Oct 2023
    we started using (and now contributing to) https://orval.dev/ this year which both generates the mocks using MSW as well as the client-side networking code (React Query in our case). It removes so much boilerplate its amazing.

    wrote up the basics of our workflow few weeks ago https://betaacid.co/blog/api-contracts

  • Ask HN: Why isn't JSON-RPC more widely adopted?
    11 projects | news.ycombinator.com | 2 Jan 2023
    Personally, find gRPC-Web very attractive but the current state of TypeScript/JS code-gen is very confusing and lacking.

    I would love something like https://orval.dev for gRPC-web. Have I missed something or is it just early to expect it?

    I tried a few libraries but couldn't get them to work or would generate unappealing results. I believe I'm hitting this issue with my local experiments. https://github.com/grpc/grpc-web/issues/535

  • I made a framework to build fully-typed RESTful server and client with zero dependency
    2 projects | /r/javascript | 20 Nov 2022
    This is a Library I've used in the past, https://github.com/anymaniax/orval
  • Best / Modern Test Stack for a new big Next.js project
    3 projects | /r/nextjs | 4 Nov 2022
    If you have OpenAPI specs to work with you could also use Orval (https://orval.dev/) to generate a lot of code. We’re just starting to evaluate it at work but so far the team that’s trialing it is liking it.
  • React & REST APIs: End-To-End TypeScript Based On OpenAPI Docs
    2 projects | /r/reactjs | 28 Oct 2022
    On the frontend we can use the OpenAPI docs to generate the TS types for our data structures. Not only types but fetch functions as well as react-query hook can be generated as well. And in this blog post you can see how to do that with a library called Orval.
  • React & REST APIs: End-To-End TypeScript Based On OpenAPI Docs
    2 projects | dev.to | 28 Oct 2022
    On this page, we’ll use a code generator called Orval.

openapi-generator

Posts with mentions or reviews of openapi-generator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-24.
  • The Stainless SDK Generator
    10 projects | news.ycombinator.com | 24 Apr 2024
    Disclaimer: We're an early adopter of Stainless at Mux.

    I've spent more of my time than I'd like to admit managing both OpenAPi spec files [1] and fighting with openapi-generator [2] than any sane person should have to. While it's great having the freedom to change the templates an thus generated SDKs you get with using that sort of approach, it's also super time consuming, and when you have a lot of SDKs (we have 6 generated SDKs), in my experience it needs someone devoted to managing the process, staying up with template changes etc.

    Excited to see more SDK languages come to Stainless!

    [1] https://www.mux.com/blog/an-adventure-in-openapi-v3-api-code...

    [2] https://github.com/OpenAPITools/openapi-generator

  • FastAPI Got Me an OpenAPI Spec Really... Fast
    4 projects | dev.to | 22 Apr 2024
    As a result, the following specification can be used to generate clients in a number of different languages via OpenAPI Generator.
  • Show HN: Manage on-prem servers from my smartphone
    3 projects | news.ycombinator.com | 27 Mar 2024
    Of course you can compile the server from source if you have Go and the OpenAPI generator JAR (https://github.com/OpenAPITools/openapi-generator?tab=readme...)

    Follow these steps : https://github.com/c100k/rebootx-on-prem/blob/master/.github...

    And then :

    (cd ./impl/http-server-go && GOARCH=amd64 GOOS=openbsd go build -o /app/rebootx-on-prem-http-server-go-openbsd-amd64 -v)

    By adapting the arch if needed. Not tested, but it should work.

  • OpenAPI Generator v7.3.0 has new generators for Rust, Kotlin, Scala and Java
    1 project | news.ycombinator.com | 8 Feb 2024
  • Stop creating HTTP clients manually - Part I
    1 project | dev.to | 5 Feb 2024
    TL;DR: Start generating your HTTP clients and all the DTOs of the requests and responses automatically from your API, using openapi-generator instead of writing your own.
  • How to Automatically Consume RESTful APIs in Your Frontend
    13 projects | dev.to | 25 Jan 2024
    As an alternative, you can also use the official OpenAPI Generator, which is a more generic tool supporting a wide range of languages and frameworks.
  • Building a world-class suite of SDKs is easy with Speakeasy
    4 projects | dev.to | 10 Jan 2024
    I trialed generating SDKs using the OpenAPI Generator package, which was largely unsatisfactory.
  • Best way to implement base class for API calls?
    2 projects | /r/csharp | 7 Dec 2023
    If Swagger/OpenAPI is available, save yourself a lot of trouble and generate the client using OpenAPI Generator. If not, use a library like RestEase to make it significantly easier to create the client.
  • Sharing EF data access project DLL vs NuGet vs ?
    1 project | /r/dotnet | 7 Dec 2023
    For a run of the mill REST API you should generate OpenAPI (Swagger) info for the API using a library like NSwag or Swashbuckle. You'd want to do this no matter what because it's documentation for the API, but the bonus is that you can use it with tools like OpenAPI Generator to create API client code and models in a variety of languages. You certainly can create an API client library manually, it would entail having a nuget package with a class library that contains the models and client code for calling the endpoints (which I'd create using a lib such as RestEase unless you just enjoy writing boilerplate code by hand). However 95% of the time it simply isn't worth creating your own lib when OpenAPI is available because once you've done it a time or two it takes less than 5 min to run the generator and create (or update) a lib.
  • Created an API using Gin, want to create sdk for him
    3 projects | /r/golang | 7 Dec 2023
    Then you can use oapi-codegen or openapi-generator to generate the Go (or other language) SDK for it.

What are some alternatives?

When comparing orval and openapi-generator you can also consider the following projects:

openapi-typescript-codegen - NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification

NSwag - The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.

jest-mock-extended - Type safe mocking extensions for Jest https://www.npmjs.com/package/jest-mock-extended

oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications

react-query-auth - ⚛️ Authenticate your react applications easily with react-query.

SvelteKit - web development, streamlined

rtk-query - Data fetching and caching addon for Redux Toolkit

smithy - Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.

django-ninja - 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

autorest - OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python