Конечные точки пользовательского маршрута Wordpress, ошибки 404 и 500Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Конечные точки пользовательского маршрута Wordpress, ошибки 404 и 500

Сообщение Anonymous »

Я работаю над плагином WordPress, который использует пользовательские маршруты API для отдыха. У меня есть одна функция, которая использует GET, и одна, которая использует POST, оба обратных вызова зарегистрированы. Я вижу перечисленные конечные точки, когда перехожу к localhost/mysitename/wp-json/wpgpt/v1. Когда я перехожу к testbubby или делаю запрос GET в почтальоне, я получаю: {
"code": "rest_invalid_handler",
"message": "Обработчик маршрута недействителен.",
"data": {
"status": 500
}
} когда я перехожу к отправке сообщения, я получаю 404 (но я думаю, что это просто потому, что требуется только запрос на публикацию) но когда я делаю запрос POST в почтальоне, я все равно получаю ошибку 500.
Это мой php-код, Register_wpgpt_api_routes() вызывается во время конструкции.

Код: Выделить всё

function register_wpgpt_api_routes() {
register_rest_route(
'wpgpt/v1',
'/send-message',
array(
'methods'  => 'POST',
'callback' => 'send_message',
'permission_callaback' => '__return_true'
));
register_rest_route('wpgpt/v1', '/testbubby', array(
'methods'  => 'GET',
'callback' => 'test_route',
'permission_callaback' => '__return_true'
)
);

}

function test_route(){
echo "hey there";
}

function send_message( string $message ): string {
$messages = [];

if( isset( $this->system_message ) ) {
$messages[] = [
"role" => "system",
"content" => $this->system_message,
];
}
//$messages = array_merge( $messages, $this->message_history );

$messages[] = [
"role" => "user",
"content" => $message,
];

return $this->make_api_request( $messages );
}
Это функция JS, которая должна выполнить запрос, но я получаю 404, когда нажимаю кнопку для его выполнения (но я вижу полезную нагрузку на вкладке сети):
р>

Код: Выделить всё

 function wpgpt_send_message() {
let message = $(".wpgpt-chat-input").val();
wpgpt_add_message( message, "user" );
$(".wpgpt-chat-input").val("");

let payload = {
"message": message,
"message_history": wpgpt_message_history
};

$.ajax({
url: '/wp-json/wpgpt/v1/send-message',
method: 'POST',
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify( payload ),
success: function( response ) {
wpgpt_add_message( response.message, "assistant" );
wpgpt_message_history.push( {
"role": "user",
"content": message,
} );
wpgpt_message_history.push( {
"role": "assistant",
"content": response.message.replace( "\n", "
" ),
} );
},
error: function() {
wpgpt_add_message( "Sorry, there was an error", "assistant" );
}
});
}
Благодарю за любую помощь, я впервые пытаюсь использовать пользовательские конечные точки.

Подробнее здесь: https://stackoverflow.com/questions/774 ... 500-errors
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»