Migrating to V1
Options Changed
1.spec - Can now be a path to a local file or an absolute url. You can now also point to an entrypoint for your multi-file OpenAPI definition and we will bundle it for you.
routePath->route(optional) - This still works the same, but is just optional now.redocOptions->options(optional) - We have removed some defaults (downloadUrlused to be hidden by default) and leave the customization to the user now.
Options Removed
specUrl- This is now automatically handled by the package depending on the type of spec passed. We will bundle your definitions into a single downloadable YAML and add it as a static asset at build time.addRoute- This is no longer needed sincerouteis now optional, so if you don't need a route just don't pass it.apiDocComponent- This is no longer needed now since we provide a react-hookuseSpecDatato load plugin data that can be used with the@theme/Redoccomponent.
Component Changes
Experimental @theme/ServerStyle Removed
Now build time/server side rendering works for everyone be default without needing to do anything.
@theme/Redoc and @theme/ApiDoc prop changes
Instead of parsing api files yourself to pass to Redoc, we now have a new hook @theme/useSpecData to load yaml files and the result can be directly passed to @theme/Redoc.
import React from 'react';
import Layout from '@theme/Layout';
import Redoc from '@theme/Redoc';
import useSpecData from '@theme/useSpecData';
function CustomPage() {
const specData = useSpecData('using-custom-layout');
return (
<Layout
title="Custom Layout Docs"
description="Example showing custom layout"
>
<Redoc {...specData} />
</Layout>
);
}
export default CustomPage;