PHPクライアントライブラリからPOST
パラメータを送信したいのですが、そのためにカスタムサービスモジュールを作成するにはどうすればよいですか?
function module_rest_services_resources() {
return array(
'new_note' => array(
'retrieve' => array(
'help' => 'Retrieves a note',
'file' => array('file' => 'inc', 'module' => 'module_rest'),
'callback' => '_module_rest_retrieve',
'access callback' => '_module_rest_access',
'access arguments' => array('view'),
'access arguments append' => TRUE,
'args' => array(
array(
'name' => 'id',
'type' => 'int',
'description' => 'The id of the note to get',
'source' => array('path' => '0'),
'optional' => FALSE,
),
),
),
),
);
}
GET
リクエストを処理する場合、POST
を処理するためにここで何を変更する必要がありますか?
POSTリクエストに変更します。リソースのソースをpathからdataに変更するだけです。例:
function module_rest_services_resources() {
return array(
'new_note' => array(
'actions' => array(
'retrieve' => array(
'help' => 'Retrieves a note',
'file' => array('file' => 'inc', 'module' => 'module_rest'),
'callback' => '_module_rest_retrieve',
'access callback' => '_module_rest_access',
'access arguments' => array('view'),
'access arguments append' => TRUE,
'args' => array(
array(
'name' => 'id',
'type' => 'int',
'description' => 'The id of the note to get',
'source' => array('data' => 'id'),
'optional' => FALSE,
),
),
),
),
),
);
}
投稿リクエストには「アクション」を使用する必要があります。例えば:
<?php
/*
* Implementation of hook_services_resources()
*/
function custom_services_services_resources(){
return array(
'new_note' => array(
'actions' => array(
'note' => array(
'help' => 'Retrieves a note',
'file' => array('file' => 'inc', 'module' => 'custom_services'),
'callback' => 'custom_services_rest_retrieve',
'access callback' => 'custom_services_custom_access',
'access arguments' => array('view'),
'access arguments append' => TRUE,
'args' => array(
array(
'name' => 'id',
'type' => 'int',
'description' => 'The id of the note to get',
'source' => array('data' => 'id'),
'optional' => FALSE,
),
),
),
),
)
);
}
これで、バックエンドのRESTサービスでそのアクションを有効にする必要があります。以下のようにサービスを呼び出す必要があります http:// YOURSITE/SERVICE-END-POINT/new_note/note 詳細を確認してください この投稿