This is a utility library meant to be used with RTK Query that will generate a typed API client from an OpenAPI schema.
By default, running the CLI will only log the output to the terminal. You can either pipe this output to a new file, or you can specify an output file via CLI args.
npx @rtk-incubator/rtk-query-codegen-openapi --hooks https://petstore3.swagger.io/api/v3/openapi.json > petstore-api.generated.ts
npx @rtk-incubator/rtk-query-codegen-openapi --file petstore-api.generated.ts --hooks https://petstore3.swagger.io/api/v3/openapi.json
npx @rtk-incubator/rtk-query-codegen-openapi --file generated.api.ts --baseQuery ./customBaseQuery.ts:namedBaseQueryFn --hooks https://petstore3.swagger.io/api/v3/openapi.json
--exportName <name>
- change the name of the exported api (default:api
)--reducerPath <path>
- change the name of thereducerPath
(default:api
)--baseQuery <file>
- specify a file with a custombaseQuery
function. Optionally takes a named function in that file. (default:fetchBaseQuery
- ex:./customBaseQuery.ts:myCustomBaseQueryFn
)--argSuffix <name>
- change the suffix of the arg type (default:ApiArg
- ex:AddPetApiArg
)--responseSuffix <name>
- change the suffix of the response type (default:ApiResponse
- ex:AddPetApiResponse
)--baseUrl <url>
- set thebaseUrl
when usingfetchBaseQuery
(will be ignored if you pass--baseQuery
)--hooks
- include React Hooks in the output (ex:export const { useGetModelQuery, useUpdateModelMutation } = api
)--file <filename>
- specify a filename to output to (ex:./generated.api.ts
)