Next.js의 getServerSideProps()에서 내부 API를 가져오고 캐싱을 구현하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-15 19:20:03
원래의
683명이 탐색했습니다.

How to Fetch Internal APIs and Implement Caching in Next.js's getServerSideProps()?

getServerSideProps에서 내부 API 가져오기: 모범 사례 및 캐싱

Next.js에서는 페이지와 구성 요소 간의 데이터를 효과적으로 관리하는 것이 중요합니다. 그러나 좋은 코딩 관행과 SEO 준수를 보장하려면 특정 관행을 따라야 합니다. 이 문서에서는 getServerSideProps() 내에서 내부 API 가져오기를 수행하는 문제를 다룹니다.

getServerSideProps()에서 fetch() 사용

이전의 이해와는 달리 Next.js 문서에서는 fetch() 사용을 권장하지 않습니다. ) getServerSideProps() 내에서 내부 API 경로를 호출합니다. 대신 API 경로의 논리를 getServerSideProps()로 직접 전송할 것을 제안합니다. getServerSideProps() 및 API 경로가 모두 서버에서 실행되므로 불필요한 추가 요청이 제거됩니다.

API 로직 추출의 장점

API 경로에서 가져오기 로직을 ​​분리하면 재사용이 가능해질 뿐만 아니라 재사용도 가능합니다. API 경로 자체 내에서 뿐만 아니라 getServerSideProps()에서도 마찬가지입니다. 이 접근 방식은 코드베이스 관리를 단순화하고 유연성을 향상시킵니다.

캐싱 고려 사항

캐싱은 성능 향상에 중요한 역할을 합니다. SWR과 같은 기술을 사용하는 클라이언트 측 캐싱은 간단합니다. 그러나 서버에서 캐싱을 수행하려면 다른 접근 방식이 필요합니다. 한 가지 기술은 Redis 또는 Memcached와 같은 서버측 캐시 메커니즘을 활용하여 getServerSideProps() 내에서 직접 캐싱 논리를 구현하는 것입니다.

리팩터링 예

다음 예를 고려하세요.

// pages/api/user.js
export async function getData() {
  const response = await fetch(/* external API endpoint */);
  const jsonData = await response.json();
  return jsonData;
}

export default async function handler(req, res) {
  const jsonData = await getData();
  res.status(200).json(jsonData);
}
로그인 후 복사

이 경우 가져오기 로직을 ​​캡슐화하는 getData() 함수는 API 경로 핸들러와 getServerSideProps() 내에서 모두 활용될 수 있습니다. 이를 통해 더 깔끔한 코드와 효율적인 데이터 수집이 가능해집니다.

위 내용은 Next.js의 getServerSideProps()에서 내부 API를 가져오고 캐싱을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿