Конечная точка пользовательского POST API WP REST не работает, ошибка 404 - PullRequest
0 голосов
/ 20 февраля 2020

Я пишу плагин, и у меня возникли некоторые проблемы с пользовательской конечной точкой, которая получает данные из внешнего интерфейса приложения (Angular) и передает ему другую функцию для фильтрации некоторых данных. У меня есть запрос GET к базе данных продукта, работает нормально, но POST просто возвращает ошибку 404 (пустой массив, если я проверяю конечную точку в бессоннице). Решения, которые я пробовал, включают в себя установление красивых постоянных ссылок, переключение тем, но все безрезультатно. Я также проверил файл wp- json, и он обнаруживается там. Код для этой конечной точки:

function get_awesome_params(WP_REST_Request $request) {
  // question attributes from angular code
  $parameters = $request->get_params();
  return new WP_REST_Response($parameters, 200);
}

add_action('rest_api_init', function() {
  register_rest_route('awesome/v1', '/awesomeparams', array(
    'methods' => WP_REST_Server::CREATABLE,
    'callback' => 'get_awesome_params',
    'permission_callback' => function () {
      return true;
    }
  ));
});

РЕДАКТИРОВАТЬ: сообщение об ошибке при посещении страницы:

{
  code: "rest_no_route",
  message: "No route was found matching the URL and request method",
  data: {
    status: 404
  }
}

1 Ответ

0 голосов
/ 25 февраля 2020

Это не сработало, потому что я не передавал никаких аргументов, и небольшое изменение в функции регистра исправило это:

add_action('rest_api_init', function() {
  register_rest_route('awesome/v1', 'awesomeparams', array(
    'methods' => WP_REST_SERVER::CREATABLE,
    'callback' => 'get_awesome_params',
    'args' => array(),
    'permission_callback' => function () {
      return true;
    }
  ));
});
...