메서드 POST에 대한 Wordpress REST API 사용자 지정 끝점
저는 현재 WordPress 웹사이트와 간단한 REST API를 필요로 하는 프로젝트를 진행하고 있습니다.WordPress에 자체 REST api가 있다는 것을 발견하고 제 요구에 맞게 기능을 확장하기로 했습니다.WordPress와 직접 관련되지 않은 테이블(단, 같은 데이터베이스)에서 데이터를 가져오거나 삽입하는 GET 및 POST 요청용 엔드포인트를 확보하기만 하면 됩니다.GET 요청은 모두 성공적으로 구현했지만 POST가 제대로 작동되지 않도록 노력하고 있습니다.
다음 루트 레지스터가 정의되어 있습니다.
register_rest_route('api/v1', 'create-player/', array(
'methods' => 'POST',
'callback' => 'create_player',
));
클라이언트는 위의 루트에서 엔드포인트에 히트할 것으로 예상되는 Ajax 콜을 통해 요구를 전송합니다.이게 아약스입니다.
$.ajax({
method: "POST",
url: '/wp-json/api/v1/create-player/',
data : JSON.stringify(data),
contentType: 'applcation/json',
beforeSend: function (xhr){
xhr.setRequestHeader("X-WP-None", locData.nonce);
console.log('beforeSend');
},
success: function(response){
console.log("success" + response);
},
fail: function (response){
console.log("fail" + response);
}
});
REST api에서 POST 루트 레지스터를 구축하는 방법을 알 수 없습니다.다른 GET 요구에는 속성이 있습니다.args
엔드포인트에서 전달된 파라미터에 직접 매핑합니다.POST를 사용할 때 요청 데이터를 처리하기 위해 그런 것이 필요합니까?Ajax에서 전달된 데이터 유형을 가져온 다음 내 함수에 사용하려면 어떻게 해야 합니까?create_player();
WP REST API 문서는 불완전한 것 같고, 제가 찾은 모든 정보는 WordPress 내장 기능에 엔드포인트를 사용하지만, 필요 없습니다. 제공된 기능을 사용하여 나만의 인터페이스를 만들고 싶습니다.감사해요.
콜백 함수에서는 다음과 같은 것을 사용할 수 있습니다.
$param = $request->get_param( 'some_param' );
// You can get the combined, merged set of parameters:
$parameters = $request->get_params();
https://www.coditty.com/code/wordpress-api-custom-route-access-post-parameters
드디어 찾았다!POST 요청의 본문에 액세스하려면$request->get_body();
당신의 안에서register_rest_route
콜백 방식
루트를 등록할 때 메서드에 POST를 추가하고 콜백 함수로 POST 변수에 액세스합니다.$request
배열, 그게 다예요.
언급URL : https://stackoverflow.com/questions/44189832/wordpress-rest-api-custom-endpoint-for-method-post
'source' 카테고리의 다른 글
요소를 ng-transclude로 대체하는 방법 (0) | 2023.04.02 |
---|---|
csv 워드프레스로 내보내기 (0) | 2023.04.02 |
MongoDB에서 프라이머리 키를 설정하는 방법 (0) | 2023.03.28 |
구성 요소 외부에 있는 클릭 이벤트를 수신하는 방법 (0) | 2023.03.28 |
jeast spy인덱스 파일에서 작동하지 않으므로 속성을 재정의할 수 없습니다. (0) | 2023.03.28 |