D7 サービス モジュールを使用して定義された REST エンドポイントがあります。サービスと CRUD 操作を有効にしました。許可を有効にしました。エンドポイント /myservice の URL にアクセスすると、メッセージが表示されます
Services Endpoint "myservice" has been setup successfully.
/myservice/create (私が有効にした Create CRUD サービスです) を押すと、空白のページが表示されますが、以下のコールバックには print ステートメントがあります。
.モジュール
function myservice_permission() {
return array('create constructs' => array(
'title' => t('create constructs'),
'description' => t('Receive messages'),
)
);
}
function _myservice_access($ops, $args) {
return TRUE;
}
function myservice_services_resources() {
return array(
'myservice_messages' => array(
'create' => array(
'help' => 'Creates messages',
'callback' => '_myservice_create',
'access callback' => '_myservice_access',
'access arguments' => array('create constructs'),
'access arguments append' => FALSE,
'args' => array(
array(
'name' => 'data',
'type' => 'struct',
'description' => '',
'source' => 'data',
'optional' => TRUE,
),
),
),
);
}
function _mymodule_create($data) {
print '***here';
}
function myservice_services_endpoint() {
$endpoints = array();
$endpoint = new stdClass();
$endpoint->disabled = FALSE;
$endpoint->api_version = 3;
$endpoint->name = 'myservice';
$endpoint->server = 'rest_server';
$endpoint->path = 'myservice_message';
$endpoint->authentication = array();
$endpoint->server_settings = array();
$endpoint->resources = array(
'myservice' => array(
'operations' => array(
'create' => array(
'enabled' => '1',
),
),
),
);
$endpoint->debug = 1;
$endpoints[] = $endpoint;
return $endpoints;
}
サービス管理パネルで、リソースとcrud操作を有効にしました。
私が尋ねる必要がある 1 つの関連事項: エンドポイント、リソース、サービス、およびエンドポイント パスの 4 つの名前付きアイテムがあります。すべて異なる名前にする必要がありますか?