При вызове метода Axios put() с моим пользовательским маршрутом WordPress я получаю эту ошибку в консоли:
ПОСТАВЬТЕ http://my-project.com/wp/wp-json/contact/v1/send 404 (не найдено)
Вот как я определяю свой собственный маршрут в WP functions.php
:
add_action('rest_api_init', function () {
register_rest_route( 'contact/v1', 'send', array(
'methods' => 'POST',
'callback' => 'sendContactMail'
));
});
Вот вызов в моем приложении (Vue.js):
this.$axios.$put(`${this.baseUrl}/wp-json/contact/v1/send`, formData)
.then((res) => {
this.success = true
})
.catch((err) => {
this.$toast.error(err.response)
})
Что я делаю не так?
Спасибо :) Если вы ответите, я приму его.
В разделе methods
вызова register_rest_route
разрешен только метод POST
, но ваш код использует PUT
.
Вы можете либо изменить вызов axios на axios.post
, либо добавить метод PUT
в определение маршрута. Для этого измените methods
, который может быть строкой HTTP-методов, разделенных запятыми, или массивом строк, например:
'methods' => 'POST,PUT',
ИЛИ
'methods' => ['POST','PUT'],
Вы определили метод POST, но используете PUT