2015-05-21 3 views
3

Я пытаюсь выяснить, как создать RESTful API для CRUD пользователей экземпляра Drupal 7. Было бы предпочтительнее использовать следующий модуль, потому что другие его части используют его: https://github.com/RESTful-Drupal/restful Если у вас есть лучший успокаивающий модуль, я бы хотел дать ему шанс.Создание пользовательского API с использованием модуля RESTful в Drupal 7

В документации немного показано, как использовать его со статьями. Что мне нужно изменить для пользователей? Есть ли учебник, в котором я могу следовать?

+0

Эта документация https://github.com/RESTful-Drupal/restful/wiki/Saving-anity-back-to-Drupal подразумевает, что можно отправить полезную нагрузку на любую конечную точку. Проблема с тем, что вы пытаетесь достичь, заключается в том, что для этого вам нужно будет войти в систему. –

ответ

0

Вы получите больше радости, и это станет более безопасным, если вы создадите свою собственную конечную точку в модуле, только для регистрации пользователей.

Во-первых, в .module файле вашего модуля, использовать функции hook_menu

/* 
* hook_menu 
*/ 
function yourmodule_menu() { 
    $items['yourmodule/user/register'] = array(
     'page callback' => 'yourmodule_user_register', 
     'access arguments' => array('access content'), 
    ); 
    return $items; 
} 

Затем создайте функцию обратного вызова:

/* 
* hook_menu page callback 
*/ 
function yourmodule_user_register() { 

    // if you want to send the payload using content type 'application/json' 
    $json = file_get_contents('php://input'); 
    $obj = json_decode($json); 
    // otherwise use $_POST 

    // if you have autoloader set up 
    $register = new YourmoduleUserRegister($obj); 
    // otherwise add in your logic here to validate and save user data 

} 

После проверки данных пользователя, используя drupal API методы user_load_by_mail() и user_load_by_name(), используйте user_save() для регистрации пользователя. Вы можете переименовывать исходные URL-адреса и делать другие вещи безопасности здесь.

+0

Спасибо, что ответили на это. Тем не менее, один небольшой, но важный момент: я думаю, вы никогда не должны принимать единый код, который вы пишете для себя, будет более безопасным. У него будет определенная степень безопасности по сравнению с ним, но если вы необычайно хорошо разбираетесь в подвигах безопасности, самым безопасным способом является использование базы общедоступного кода, на которую многие глаза проходят через нее. –

Смежные вопросы