getResourceByPath
Fetch a resource by path.
const resource = await drupal.getResourceByPath<T = JsonApiResource>( path, options?: { params, withAuth, deserialize, locale, defaultLocale, isVersionable, }): Promise<T>path: string- Required
- The resource path. Example:
/blog/slug-for-article.
options- Optional
params: JsonApiParams: JSON:API params such asfilter,fields,includeorsort.withAuth: boolean | NextDrupalAuth:- Set the authentication method to use. See the authentication docs.
- Set to
trueto use the authentication method configured on the client.
deserialize: boolean: Set to false to return the raw JSON:API response.locale: string: The locale to fetch the resource in.defaultLocale: string: The default locale of the site.isVersionable: boolean: Set to true if you're fetching the revision for a resource. Automatically set to true for node entity types.
Notes
- The Decoupled Router module is required.
Examples
- Get a page by path.
const node = await drupal.getResourceByPath("/blog/slug-for-article")- Get the raw JSON:API response.
const { data, meta, links } = await drupal.getResourceByPath( "/blog/slug-for-article", { deserialize: false, })- Get the
estranslation for a page.
const node = await drupal.getResourceByPath("/blog/slug-for-article", { locale: "es", defaultLocale: "en",})TypeScript
- Using
DrupalNodefor a node entity type.
import { DrupalNode } from "next-drupal"
const node = await drupal.getResourceByPath<DrupalNode>( "/blog/slug-for-article")See the TypeScript docs for more built-in types.