Type-Safe Fetch with Next.js, Strapi, and OpenAPI

This page summarizes the projects mentioned and recommended in the original post on dev.to

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
  • qs

    A querystring parser with nesting support

  • That would mean a bit of string concatenation. Luckily, Strapi suggest a library called qs to make this a bit more streamlined:

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TypeScript helps you in many ways in the context of a JavaScript app. It makes it easier to consume interfaces of any type.

  • 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 logo
  • Strapi

    πŸš€ Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.

  • const pages = await client.GET("/pages", { params: { query: { filters: { // @ts-ignore - openapi generated from strapi results in Record // https://github.com/strapi/strapi/issues/19644 path: { $eq: path, }, }, // @ts-ignore populate: { blocks: { populate: "*" }, }, }, }, });

  • React

    The library for web and native user interfaces.

  • What you have seen now works great especially when you are fetching data on the server, like in React Server Components using Next.js. But data fetching on the client side is often a bit more involved. At least what you want is for example some data loading indication and to know when the data is actually available in the client.

  • strapi-next-rsc-openapi-fetch

    YouTube, 20240301, using typed fetch with strapi and nextjs

  • The source code is available on GitHub.

  • OpenAI-DotNet

    A Non-Official OpenAI RESTful API Client for DotNet

  • Next.js

    The React Framework

  • What you have seen now works great especially when you are fetching data on the server, like in React Server Components using Next.js. But data fetching on the client side is often a bit more involved. At least what you want is for example some data loading indication and to know when the data is actually available in the client.

  • 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.

    InfluxDB logo
  • foundation

    GraphQL Foundation Charter and Legal Documents (by graphql)

  • When you use technologies like GraphQL, it is trivial to derive TypeScript types. A GraphQL API is created by implementing a schema. Generating the TypeScript type definitions from this schema is simple, and you do not have to do any more work than just making the GraphQL API. This is one reason why I like GraphQL so much.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • 10 Issues That Will Help You Grow as a top contributor in Opensource πŸ…πŸ…

    12 projects | dev.to | 16 Oct 2023
  • Is NEXT.JS really that helpful versus react + express?

    2 projects | /r/reactjs | 17 Jul 2023
  • How to Build a Node.js GraphQL API With NestJS and Prisma

    7 projects | dev.to | 6 Jul 2023
  • Jest not recommended to be used in Node.js due to instanceOf operator issues

    9 projects | news.ycombinator.com | 30 Jun 2023
  • Is Prisma ORM ready for production?

    8 projects | /r/node | 14 Jun 2023