WordPress REST API: 액세스, 사용 및 보안 방법(전체 자습서)

게시 됨: 2023-03-23

워드프레스 개발자가 되려고 한다면 'REST API'라는 것을 접하게 될 것입니다. 워드프레스의 기능을 확장하고 다른 애플리케이션과 플랫폼을 연결할 수 있게 해주는 인터페이스입니다. 일부 개발자는 특히 고급 기능을 구현하려는 경우 프로세스의 일부로 정말 유용하다고 생각합니다.

다행스럽게도 WordPress REST API에 대한 전문 지식을 얻기 위해 숙련된 개발자가 될 필요는 없습니다. 인터페이스와 작동 방식을 확실하게 이해하면 웹 구축 프로젝트에 쉽게 구현할 수 있습니다.

이 게시물에서는 WordPress REST API에 대한 심층 가이드를 제공합니다. 그것이 무엇인지, 어떻게 사용하는지, 그리고 위협으로부터 보호하는 방법에 대해 논의할 것입니다. 또한 일반적인 REST API 오류를 수정하는 방법, 다른 프레임워크와 인터페이스를 사용하는 방법 및 다른 WordPress API 솔루션과 비교하는 방법을 보여줍니다. 마지막으로 몇 가지 자주 묻는 질문에 대해 다루겠습니다.

WordPress REST API란 무엇입니까?

WordPress REST API를 이해하려면 다양한 구성 요소를 분해해야 합니다. API에 대한 소개부터 시작하겠습니다.

API란 무엇입니까?

API(응용 프로그래밍 인터페이스)는 두 개의 응용 프로그램이 서로 통신할 수 있도록 하는 프로그램입니다. 두 소프트웨어 간의 중개자 역할을 하여 원활한 협업을 촉진합니다.

예를 들어 지도와 같은 Google 제품을 사이트에 표시하려면 Google Maps API를 사용해야 합니다.

구글 클라우드 API 라이브러리

이렇게 하면 WordPress 사이트가 Google 지도와 통신할 수 있으므로 해당 지도를 표시하는 데 필요한 모든 관련 데이터와 기능을 가져올 수 있습니다.

Google과 마찬가지로 다른 회사도 API를 보유하고 있으며 이를 웹 개발자에게 제공합니다. 이러한 제품은 기능(예: 지도)을 처음부터 코딩할 필요가 없기 때문에 매우 매력적일 수 있습니다. 대신 타사 소프트웨어를 사용하고 API를 통해 사이트에 연결할 수 있습니다.

REST 란 무엇입니까?

REST(Representational State Transfer)는 개발자가 API를 생성할 때 따라야 하는 일련의 지침입니다. 따라서 REST API는 이러한 표준을 염두에 두고 구축된 인터페이스입니다.

일반적으로 REST API는 다음 원칙을 따릅니다.

  • 클라이언트-서버 분리: API는 클라이언트(또는 웹 사이트)와 서버가 서로 분리된 상태를 유지하고 계속해서 서로 독립적으로 기능할 수 있도록 해야 합니다.
  • 캐싱: REST API는 가능한 경우 캐싱 가능한 데이터를 사용하여 성능을 개선하고 어떤 정보를 캐싱할 수 있는지 웹사이트에 알려야 합니다.
  • 상태 비저장: REST API는 연결된 웹사이트에 대한 정보를 서버에 저장할 수 없으며 요청을 처리하는 데 필요한 정보만 제공되어야 합니다.
  • 균일한 인터페이스: 자원에 대한 요청은 출처에 관계없이 동일한 방식으로 처리되어야 합니다.
  • 계층화된 아키텍처: REST API는 계층화된 시스템을 중심으로 구축되며 각 계층은 특정 역할을 수행하고 다른 계층과 별도로 작동합니다. 이렇게 하면 API가 더 안전하고 업데이트하기 쉬워집니다.

REST API는 이러한 표준을 충족하므로 더 많은 보안과 효율성을 제공할 수 있습니다.

WordPress REST API는 무엇을 합니까?

WordPress에는 자체 REST API가 있습니다. 이를 통해 플랫폼은 사용하는 프로그래밍 언어에 관계없이 거의 모든 다른 웹 응용 프로그램 및 웹 사이트와 통신할 수 있습니다.

이 API를 사용하면 타사 앱이 WordPress 데이터베이스에 액세스하고 여기에서 데이터를 가져올 수 있습니다. 실제로 대부분의 WordPress 플러그인과 테마는 제대로 작동하기 위해 플랫폼의 REST API를 사용합니다.

WordPress REST API는 버전 4.7에서 핵심 소프트웨어의 일부로 출시되었습니다. 그 전에는 플러그인으로만 사용할 수 있었습니다.

WordPress 소프트웨어는 PHP로 구축되지만 REST API는 개발자에게 새로운 가능성을 열어주는 JSON(JavaScript Object Notation) 객체로 데이터를 송수신합니다.

가장 일반적인 REST API 명령은 무엇입니까?

REST API는 HTML 명령을 통해 특정 요청을 수신하고 응답하도록 설계되었습니다.

가장 일반적으로 사용하는 명령은 다음과 같습니다.

  • GET: 이 명령을 사용하여 게시물이나 데이터 조각과 같은 서버에서 특정 리소스를 가져올 수 있습니다.
  • POST: 이 명령을 사용하면 코드를 추가하여 서버의 리소스를 수정할 수 있습니다.
  • PUT: 이 명령을 사용하면 서버에 이미 있는 리소스를 편집할 수 있습니다.
  • DELETE: 이 명령은 서버에서 리소스를 제거합니다 .

이러한 명령 다음에는 요청에 대한 자세한 정보를 제공하는 줄이 옵니다. 이를 엔드포인트라고 합니다.

예를 들어 사이트에 게시된 게시물 목록을 검색하려면 다음 엔드포인트를 사용합니다.

 GET http://mysite.com/wp-json/wp/v2/posts/?status=published

다른 예를 살펴보겠습니다. 새 페이지를 추가하려면 다음 명령을 사용합니다.

 POST http://mysite.com/wp-json/wp/v2/posts/page

이 네 가지 명령으로 많은 작업을 수행할 수 있습니다. WordPress 개발자 리소스 페이지에서 끝점 목록을 찾을 수 있습니다.

WordPress REST API의 실제 사례

이제 WordPress REST API 작동 방식에 대한 기본적인 이해를 마쳤으므로 WordPress.com부터 시작하여 몇 가지 실제 사례를 살펴보겠습니다.

WordPress.com 관리 대시보드("Calypso"라고 함)는 REST API를 통해 JavaScript로 완전히 구축됩니다.

REST API를 사용하는 WordPress Calypso 대시보드

Calypso는 사용자가 새 콘텐츠를 추가하고 기존 게시물을 편집하는 등의 작업을 수행할 수 있는 웹 및 데스크톱 앱입니다. REST API를 사용하여 WordPress.com 사이트의 데이터에 액세스합니다.

또 다른 예는 블록 편집기입니다. 자체 호스팅 WordPress에서 블록 편집기는 REST API를 사용하여 데이터베이스와 상호 작용하고 블록을 생성합니다.

USA Today와 같은 많은 온라인 간행물도 WordPress REST API를 사용합니다. 이를 통해 Apple News와 같은 다른 뉴스 앱에 기사를 자동으로 게시할 수 있습니다.

WordPress에서 REST API를 활성화 및 비활성화하는 방법

REST API를 활성화하기 위해 아무것도 할 필요가 없습니다. WordPress에 내장되어 있습니다. 게시물의 뒷부분에서 액세스하는 방법을 보여 드리겠습니다.

REST API는 WordPress로 앱을 구축하기 위한 강력한 도구이지만 사이트를 DDoS(Distributed Denial-of-Service) 공격 및 맬웨어에 취약하게 만들 수 있습니다. 또한 해커가 다른 앱과의 연결을 통해 데이터에 액세스할 수 있습니다.

WordPress REST API를 비활성화하는 것은 권장되지 않습니다. 그렇게 하면 블록 편집기 및 사이트의 모든 플러그인에 문제가 발생할 수 있기 때문입니다.

계속해서 비활성화하고 싶다면 가장 쉬운 방법은 WPCode와 같은 플러그인을 사용하는 것입니다.

WP 코드 홈페이지 이미지

사이트에 플러그인을 설치하고 활성화한 후 WordPress 대시보드에서 Code Snippets → Library 로 이동합니다.

WPCode 스니펫 라이브러리

여기에서 Disable WordPress REST API 라는 옵션을 찾으십시오. 찾으면 마우스를 가져간 다음 스니펫 사용 을 선택합니다.

"REST API 비활성화" 스니펫 사용

그러면 코드 미리보기가 있는 페이지가 시작됩니다.

WPCode 스니펫 편집

삽입 상자까지 아래로 스크롤하면 플러그인이 이 코드를 사이트에 자동으로 적용하도록 자동 삽입 옵션을 선택할 수 있습니다.

자동 삽입 기능 사용

그런 다음 위로 스크롤하여 토글 스위치를 비활성 에서 활성으로 이동합니다. 마지막으로 업데이트를 클릭하여 이러한 변경 사항을 적용합니다.

WordPress REST API를 사용하는 방법

이제 WordPress REST API를 사용하는 방법을 살펴보겠습니다. 위에서 몇 가지 예를 이미 다루었지만 이 섹션에서는 데이터에 액세스하고 가져오는 방법을 정확하게 보여줍니다.

1단계: REST API에 액세스

라이브 WordPress 사이트에서 데이터를 가져오려면 브라우저에서 바로 REST API에 액세스할 수 있습니다. 검색창에 다음 주소를 입력하기만 하면 됩니다(자신의 도메인 이름과 확장명으로 대체).

 mysite.com/wp-json/wp/v2

이렇게 하면 WordPress 사이트의 JSON 파일이 나타납니다.

REST API 보기

그런 다음 이 URL에 요소를 추가하여 다음 단계에서 볼 수 있듯이 특정 데이터에 액세스할 수 있습니다.

2단계: REST API에 요청하기

앞서 언급했듯이 엔드포인트를 사용하여 사이트의 특정 데이터에 액세스할 수 있습니다. 모든 게시물 목록을 검색하려면 주소에 끝점 /posts를 추가하기만 하면 됩니다.

 mysite.com/wp-json/wp/v2/posts

특정 게시물을 검색하려면 해당 ID를 추가하기만 하면 됩니다(WordPress 대시보드의 게시물 페이지에서 찾을 수 있음).

 mysite.com/wp-json/wp/v2/posts/4567

한편, 사용자에 대한 데이터를 가져오려면 다음 요청을 사용합니다.

 mysite.com/wp-json/wp/v2/users

이것은 단순한 예일 뿐이지만 더 많은 작업을 수행할 수 있습니다. 예를 들어 특정 용어가 포함된 게시물을 가져오고 게시물의 상태를 "초안"에서 "게시"로 변경하는 등의 작업을 수행할 수 있습니다.

3단계: 요청 인증

WordPress REST API를 사용하면 웹사이트에서 모든 유형의 데이터를 가져올 수 있지만 모든 데이터가 공개적으로 사용 가능한 것은 아닙니다. 경우에 따라 요청을 인증해야 합니다.

WordPress REST API에 인증된 요청을 하려면 먼저 API 키를 얻어야 합니다. 이렇게 하려면 WordPress 대시보드에서 사용자 → 프로필 로 이동합니다.

그런 다음 애플리케이션 암호 섹션까지 아래로 스크롤합니다. 여기에서 참조용으로 비밀번호 이름을 입력하고 새 애플리케이션 비밀번호 추가를 클릭해야 합니다.

WordPress에서 애플리케이션 비밀번호 생성

이렇게 하면 요청에 사용해야 하는 API 키가 생성됩니다. 예를 들어 API 키가 "1234567890"인 경우 다음과 같이 Authorization 헤더에 포함할 수 있습니다.

 https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer1234567890

코드 1234567890을 복사한 API 키로 교체하고 공백을 제거해야 합니다.

사용자 ID를 사용하여 특정 작성자가 작성한 게시물 목록을 검색할 수도 있습니다. WordPress 대시보드의 사용자 섹션으로 이동하고 작성자 이름을 클릭하여 ID를 찾을 수 있습니다. ID는 작성자 페이지의 URL에 표시됩니다.

작성자의 이름이 "Joe"이고 ID가 "123"이라고 가정해 보겠습니다. 이 시나리오에서는 다음 URL을 사용하여 Joe가 작성한 모든 게시물 목록을 검색할 수 있습니다.

 https://mysite.com/wp-json/wp/v2/posts?author=123&Authorization=Bearer1234567890

사용자의 ID를 찾을 수 없는 경우 ID가 더 이상 표시되지 않도록 프로필이 수정되었을 수 있습니다. 이 경우 ID 대신 로그인 이름이나 이메일 주소를 사용하여 사용자가 작성한 모든 게시물 목록을 조회할 수 있습니다.

이렇게 하려면 요청에서 "author" 매개변수 대신 "slug" 매개변수를 사용해야 합니다.

 https://mysite.com/wp-json/wp/v2/posts?slug=joe&Authorization=Bearer1234567890

"slug" 매개변수를 사용하면 사용자의 로그인 이름 또는 이메일 주소를 지정할 수 있습니다. WordPress REST API는 사용자가 작성한 모든 게시물 목록을 반환합니다.

WordPress REST API를 사용하는 경우

WordPress REST API는 다양한 프로젝트에 사용할 수 있습니다. 다음은 몇 가지 예입니다.

  • WordPress 사이트를 모바일 앱과 통합. 당신이 개발자라면, REST API를 사용하여 모바일 앱에서 WordPress 사이트의 데이터를 검색하고 편집할 수 있습니다. 이를 통해 사이트와 상호 작용하는 맞춤형 앱을 구축할 수 있습니다.
  • 맞춤형 통합 생성. WordPress REST API를 사용하여 CRM 도구와 같은 다른 소프트웨어와의 사용자 지정 통합을 생성할 수 있습니다.
  • 사용자 정의 스크립트 작성. REST API를 사용하여 게시물 예약 또는 사용자 프로필 업데이트와 같은 WordPress 사이트의 특정 작업을 자동화할 수 있습니다.

보시다시피 REST API를 사용하면 WordPress를 다른 플랫폼에 구축된 앱 또는 사이트와 통합할 수 있습니다.

WordPress REST API를 사용 하지 않는 경우

WordPress REST API는 강력한 도구일 수 있지만 항상 프로젝트에 적합한 것은 아닙니다. 사용 하지 않으려 는 몇 가지 이유를 살펴보겠습니다.

기억하시겠지만 WordPress REST API는 JavaScript로 구축되었습니다. 따라서 JavaScript를 지원하지 않는 앱을 ​​개발하는 경우 REST API를 사용하면 제대로 작동하지 않습니다.

또한 JavaScript로 구축된 앱은 접근성이 좋지 않을 수 있습니다. 예를 들어 동적 콘텐츠를 렌더링하는 방식이 스크린 리더와 호환되지 않을 수 있습니다. 결과적으로 시각 장애가 있는 사용자가 콘텐츠에 액세스하지 못할 수 있습니다.

악용으로부터 WordPress REST API를 보호하는 방법

앞서 언급했듯이 WordPress REST API를 사용하면 사이트가 위협에 취약해질 수 있습니다. API는 두 플랫폼 사이의 다리 역할을 하며 해커는 이 연결을 통해 웹사이트에 침입할 수 있습니다.

따라서 WordPress REST API를 사용하기 전에 WordPress 사이트의 백업을 만드는 것이 중요합니다. 이렇게 하면 문제가 발생한 경우 콘텐츠의 최신 버전을 복원할 수 있습니다.

또한 충분한 보안 조치를 취하고 있는지 확인해야 합니다. 이는 Jetpack Protect와 같은 도구를 사용하는 것을 의미합니다.

젯팩 프로텍트 홈페이지

이 플러그인에는 맬웨어 검색, 취약성 검색 및 웹 애플리케이션 방화벽(WAF)을 비롯한 보안 기능이 포함되어 있습니다.

또한 변경 사항을 적용하기 전에 WordPress 스테이징 사이트에서 REST API를 사용하는 것이 좋습니다. 이렇게 하면 실수로 웹사이트가 중단되더라도 프런트 엔드의 사용자 경험에 영향을 미치지 않습니다.

일반적인 REST API 오류 및 문제를 해결하는 방법

WordPress REST API를 사용할 때 일부 오류가 발생할 수 있습니다. 이제 몇 가지 가장 일반적인 문제와 이를 해결하기 위해 취할 수 있는 단계를 살펴보겠습니다.

느린 응답 시간 및 시간 제한

WordPress REST API를 호출할 때 느린 응답 시간 및 시간 초과가 발생할 수 있습니다. 이러한 문제는 일반적으로 다음 요인에 의해 발생합니다.

  • 서버 리소스가 부족합니다. 서버에 REST API를 통해 이루어진 요청을 처리할 리소스가 충분하지 않을 수 있습니다. 이 경우 더 강력한 WordPress 호스팅 계획으로 업그레이드해야 합니다.
  • 플러그인 또는 테마 충돌. WordPress 플러그인 및 테마는 때때로 REST API와 충돌할 수 있습니다. 이 경우 모든 플러그인을 비활성화하고 기본 테마로 전환하여 문제가 해결되는지 확인하십시오. 그렇다면 플러그인을 한 번에 하나씩 재활성화하여 범인을 식별할 수 있습니다.
  • 데이터의 크기. API 호출 중 대용량 데이터 전송으로 인해 시간 초과가 발생할 수 있습니다. 이를 방지하기 위해 페이지당 표시되는 항목 수를 줄일 수 있습니다.
  • 데이터베이스 문제. WordPress 데이터베이스가 최적화되지 않은 경우 REST API를 호출할 때 응답 시간이 느려지고 시간 초과가 발생할 수 있습니다. 불필요한 데이터를 제거하고 최적화 플러그인을 설치하여 최적화할 수 있습니다.

또한 Google Cloud의 운영 제품군(이전 Stackdriver) 및 Microsoft의 Application Insights와 같은 도구를 사용하여 API의 성능을 추적할 수 있습니다. 이러한 도구는 WordPress REST API의 성능에 대한 통찰력을 제공하고 느린 응답 시간의 원인을 식별하는 데 도움이 됩니다.

403 REST API 호출 시 금지된 오류

403 금지 오류는 클라이언트가 요청된 리소스에 액세스할 수 있는 권한이 없음을 나타내는 HTTP 상태 코드입니다. 이 오류의 몇 가지 일반적인 원인과 가능한 해결 방법을 살펴보겠습니다.

  • 잘못된 API 키. 요청에 API 키가 필요한 경우 사용 중인 키가 유효하고 요청 헤더에 올바르게 전달되고 있는지 확인하십시오.
  • 논스가 잘못되었습니다. 'nonce'는 요청 위조를 방지하기 위해 한 번 사용되는 난수입니다. 유효하지 않은 경우 403 금지 오류가 발생할 수 있습니다.
  • 사용자 권한. 또한 특정 API 엔드포인트에 액세스하는 데 필요한 권한이 있는지 확인해야 합니다. 웹 사이트의 소유자가 아닌 경우 관리자에게 올바른 권한을 요청해야 할 수 있습니다.
  • 보안 플러그인. 보안 플러그인은 API 호출을 보안 위협으로 간주하기 때문에 차단할 수 있습니다. 플러그인 설정에서 API 엔드포인트를 화이트리스트에 추가하여 이러한 유형의 문제를 해결할 수 있습니다.
  • 방화벽. API 요청을 차단하는 방화벽을 사용 중일 수 있습니다. 방화벽이 올바르게 설정되어 있는지 확인하거나 API를 사용하는 동안 비활성화하십시오.
  • 서버 구성. 일부 서버는 특정 API 호출을 처리하도록 구성되지 않았으므로 호스팅 제공업체에 도움을 요청하는 것이 좋습니다.

브라우저의 개발자 도구를 사용하여 네트워크 요청 및 요청 헤더를 검사할 수도 있습니다. Chrome을 사용하는 경우 Ctrl+Shift+C를 눌러 DevTools를 엽니다.

또한 서버 로그에서 오류에 대한 자세한 정보를 확인할 수 있습니다. 호스팅 계정을 통해 액세스할 수 있어야 합니다. 그렇지 않은 경우 호스팅 제공업체에 도움을 요청할 수 있습니다.

REST API에서 예기치 않은 결과가 발생했습니다.

"REST API에 예기치 않은 결과가 발생했습니다." 오류는 일반적인 문제입니다. 일반적으로 다음 요인에 의해 발생합니다.

  • 권한. 요청한 리소스에 액세스할 수 있는 올바른 권한이 없을 수 있습니다. 이 경우 사이트 관리자에게 문의해야 합니다.
  • URL 구성 문제. 이 오류는 API 끝점 URL이 잘못 구성된 경우 발생할 수 있습니다. URL이 올바르고 필요한 모든 쿼리 매개변수가 포함되어 있는지 다시 확인하십시오.
  • 잘못된 명령입니다. 요청에 대해 잘못된 명령(예: GET, POST, PUT, DELETE)을 사용하고 있을 수 있습니다. API 문서를 확인하여 특정 엔드포인트에 올바른 명령을 사용하고 있는지 확인하십시오.
  • 잘못된 요청 형식입니다. 요청에 올바른 형식을 사용하고 있는지 확인하세요. WordPress REST API에서 데이터는 JSON으로 전송되어야 합니다.
  • 잘못된 끝점입니다. 존재하지 않는 끝점을 호출하려고 할 수 있습니다. 이 시나리오에서는 끝점 URL이 올바른지 다시 확인하십시오.
  • 서버측 문제 . 서버에 문제가 있을 수 있습니다. 이것은 공유 호스팅 계획에서 더 일반적입니다. 이런 일이 발생하면 리소스가 더 많은 서버로 업그레이드해야 할 때일 수 있습니다.

문제가 해결되었는지 확인하기 위해 플러그인을 비활성화할 수도 있습니다. 앞서 언급했듯이 일부 도구는 WordPress REST API와의 호환성 문제를 일으킬 수 있습니다.

rest_api_init가 작동하지 않습니다

"rest_api_init not working" 오류는 또 다른 일반적인 WordPress REST API 오류입니다. 일반적으로 플러그인 및 테마 충돌과 제한된 서버 리소스로 인해 발생합니다.

여전히 다음과 같이 WordPress REST API가 작동하지 않을 수 있는 다른 요인이 있습니다.

  • 사용자 지정 REST API 끝점. 사용자 지정 엔드포인트로 요청하는 경우 올바른 후크와 기능을 사용하고 있는지 확인하세요.
  • .htaccess 파일. .htaccess 파일이 올바르게 설정되었는지 확인해야 할 수도 있습니다.
  • CORS 오류입니다. CORS(Cross-Origin Requests)를 시도하고 WordPress REST API가 작동하지 않는 경우 서버가 이를 수락하도록 구성되지 않았을 수 있습니다. 서버가 CORS를 허용하는지 알아보기 위해 호스팅 제공업체에 문의할 수 있습니다.

또한 API를 지원하지 않는 이전 WordPress 설치를 사용 중일 수 있습니다. 그렇다면 최신 버전으로 업그레이드하는 것이 중요합니다.

기본 인증이 작동하지 않음

기본 인증을 사용하여 WordPress REST API를 호출하려고 할 때 "기본 인증이 작동하지 않음" 오류가 발생할 수 있습니다. 기본 인증은 HTTP 프로토콜에 내장된 간단한 인증 체계입니다. 사용자 이름과 암호를 사용하여 누군가를 인증합니다.

다음은 이 오류의 일반적인 원인과 해결 방법입니다.

  • 잘못된 자격 증명입니다. 요청 헤더에서 사용자 이름과 암호가 올바른지 확인하십시오.
  • SSL(Secure Sockets Layer) 문제. 유효한 SSL 인증서가 설치되어 있고 올바르게 구성되어 있는지 확인하십시오. 그렇지 않은 경우 유효한 무료 SSL 인증서를 받는 방법에 대한 단계별 가이드를 살펴보세요.
  • HTTP에서 HTTPS로 리디렉션합니다. 일부 웹사이트는 HTTP 요청을 HTTPS로 리디렉션하도록 구성되어 있습니다. 브라우저가 HTTP에서 인증을 시도하는 경우 이 오류가 발생할 수 있습니다. 따라서 HTTPS 끝점에서 요청을 실행하고 있는지 확인해야 합니다.

다른 REST API 문제와 마찬가지로 이 오류는 테마 및 플러그인 충돌로 인해 발생할 수도 있습니다. 다시 한 번 기본 테마로 전환하고 플러그인을 비활성화하여 문제를 해결해야 합니다.

그래도 도움이 되지 않으면 방화벽을 일시적으로 비활성화할 수 있습니다. 이로 인해 인증 요청이 차단될 수 있습니다.

CORS를 만드는 경우 서버가 CORS를 수락하도록 구성되지 않았을 수 있습니다. 호스팅 제공업체에서 할 수 있는 일이 있는지 확인하는 것이 좋습니다.

마지막으로 사이트 관리자가 아닌 경우 요청을 완료할 수 있는 올바른 권한이나 역할이 없을 수 있습니다. 이 경우 웹사이트 소유자에게 연락해야 합니다.

REST API의 고급 사용 사례

WordPress REST API 덕분에 널리 사용되는 프레임워크 및 기타 프로그래밍 언어를 사용하여 사이트에서 데이터를 검색할 수 있습니다. 몇 가지 예를 살펴보겠습니다.

React와 함께 WordPress REST API를 사용하는 방법

React는 사용자 인터페이스 구축에 널리 사용되는 JavaScript 라이브러리입니다. Node-WPAPI 클라이언트를 사용하여 WordPress REST API에 HTTP 요청을 할 수 있습니다.

예를 들어 WordPress 사이트의 게시물 목록을 검색하려면 Node-WPAPI에 다음을 입력해야 합니다.

 import WPAPI from 'wpapi'; const wp = new WPAPI({ endpoint: 'http://example.com/wp-json' }); wp.posts().then(posts => {  console.log(posts); });

React와 함께 WordPress REST API를 사용하는 방법에 대한 자세한 내용은 Node-WPAPI 설명서를 참조하세요.

Angular와 함께 WP REST API를 사용하는 방법

Angular는 웹 애플리케이션 개발을 위한 JavaScript 프레임워크입니다. WordPress REST API와 함께 사용하려면 @angular/common/http 모듈을 사용해야 합니다.

예를 들어 다음 코드를 입력하여 게시물 목록을 검색할 수 있습니다.

 import { HttpClient } from '@angular/common/http'; @Injectable() export class PostService {  constructor(private http: HttpClient) {}  getPosts(): Observable<any> {    return this.http.get('http://mysite.com/wp-json/wp/v2/posts');  } }

HttpClient를 사용하여 WordPress REST API에 요청하는 방법에 대한 자세한 내용은 Angular 설명서를 확인하세요.

Python과 함께 WordPress REST API를 사용하는 방법

Python과 함께 WordPress REST API를 사용할 수도 있습니다. 이것은 웹 응용 프로그램 및 기타 소프트웨어를 구축하는 데 사용할 수 있는 널리 사용되는 프로그래밍 언어입니다.

시작하려면 요청 라이브러리를 사용해야 합니다. WordPress 게시물 목록을 가져오려면 다음을 입력합니다.

 import requests response = requests.get('http://example.com/wp-json/wp/v2/posts') posts = response.json() print(posts)

자세한 지침은 Requests 라이브러리 설명서를 참조하십시오.

REST API는 다른 WordPress API 솔루션과 어떻게 다릅니까?

REST API가 다른 WordPress API 솔루션과 어떻게 다른지 궁금하실 수 있습니다. 아이디어를 제공하기 위해 가장 인기 있는 대안과 비교해 보겠습니다.

WordPress REST API 대 AJAX

WordPress REST API는 WordPress 데이터에 액세스하는 효율적인 방법을 제공합니다. 이를 통해 개발자는 맞춤형 애플리케이션 및 WordPress와의 통합을 구축할 수 있습니다.

한편 WordPress AJAX API는 WordPress 데이터에 액세스하는 오래된 방법입니다. WordPress 2.0에서 도입되었으며 개발자가 JavaScript를 사용하여 사이트 프런트 엔드에서 비동기식 요청을 할 수 있습니다.

WordPress AJAX API는 기능 면에서 약간 제한적일 수 있으므로 복잡한 프로젝트에서는 사용하지 않는 것이 좋습니다.

WordPress REST API 대 WPGraphQL

WPGraphQL은 WordPress 데이터에 액세스하는 대체 방법을 제공하는 WordPress용 GraphQL 구현입니다. GraphQL은 API용 쿼리 언어입니다. 이를 통해 클라이언트는 필요한 데이터를 정확하게 요청할 수 있습니다.

WordPress REST API와 달리 WPGraphQL은 액세스가 필요한 각 사용자에 대해 별도의 애플리케이션 암호를 생성해야 합니다. 또한 더 복잡한 쿼리 언어를 사용하기 때문에 콘텐츠 전달이 다소 느릴 수 있습니다.

WordPress REST API 대 XML-RPC

WordPress 1.5에 도입된 WordPress XML-RPC API를 사용하면 XML-RPC 프로토콜을 사용하여 WordPress에 원격 요청을 할 수 있습니다.

XML-RPC는 단순하고 가볍기 때문에 결과를 더 빠르게 제공할 수 있습니다. 문제는 Ajax와 마찬가지로 WordPress REST API에 비해 기능이 제한적이라는 것입니다.

WordPress REST API에 대해 자주 묻는 질문

이 가이드에서는 WordPress REST API와 관련하여 대부분의 필수 요소를 다루었습니다. 그러나 만일을 대비하여 이 강력한 도구에 대해 자주 묻는 몇 가지 질문을 살펴보겠습니다.

WordPress REST API에 반환 제한이 있나요?

기본적으로 WordPress REST API에는 페이지당 최대 100개 항목 반환 제한이 있습니다. 즉, 게시물, 페이지 또는 사용자와 같은 항목 목록을 반환하는 끝점에 요청하면 API는 응답에 최대 100개의 항목만 표시합니다.

다행히 "per_page" 매개변수를 사용하여 페이지당 최대 500개 항목까지 제한을 늘릴 수 있습니다.

예를 들어 페이지당 200개의 항목을 원하는 경우 다음을 사용할 수 있습니다.

 https://mysite.com/wp-json/wp/v2/posts?per_page=200

페이지당 표시되는 항목 수를 줄일 수도 있습니다.

WooCommerce에서 REST API를 사용할 수 있습니까?

WooCommerce에는 자체 REST API가 있습니다. WooCommerce REST API를 사용하면 WooCommerce 스토어의 데이터에 액세스하고 수정할 수 있습니다. 여기에는 제품, 주문 및 고객에 대한 정보가 포함됩니다. 또한 WooCommerce REST API를 사용하여 WooCommerce를 다른 전자상거래 플랫폼과 통합할 수 있습니다.

WordPress REST API 시작하기

WordPress REST API를 사용하면 사이트를 다른 앱 및 타사 도구와 통합할 수 있습니다. 웹 개발자는 이를 사용하여 단일 페이지 애플리케이션용 데이터를 가져오고 WordPress를 모바일 앱에 연결하는 등의 작업을 수행할 수 있습니다.

또한 React, Angular 및 Python을 비롯한 다른 프레임워크 및 프로그래밍 언어와 함께 WordPress REST API를 사용할 수 있습니다. WordPress REST API는 강력하고 신뢰할 수 있는 도구이지만 사이트를 백업하고 보안 도구를 사용하여 이러한 연결을 통한 공격을 방지하는 것이 여전히 중요합니다.

Jetpack Protect를 사용하면 맬웨어 및 해커로부터 WordPress 사이트를 보호하고 더 안전한 환경에서 WordPress REST API를 사용할 수 있습니다.