PHP REST API с помощью Swagger — LiveHelperChat

Я скачал Live Helper Chat (приложение с открытым исходным кодом, созданное на PHP) отсюда: https://livehelperchat.com/, и я пытался добавить пользовательскую конечную точку в REST API, который построен на Swagger 2.0.

Пока что я

1) Добавлен путь в swagger.json так:

    "/restapi/myendpoint/{user_id}": {
"get": {
"tags": [
"user"],
"summary": "",
"description": "",
"produces": [
"application/json"],
"parameters": [
{
"name": "user_id",
"in": "path",
"description": "User ID",
"required": true,
"type": "string",
"format": "int32"}
],
"responses": {
"200": {
"description": "",
"schema": {
}
},
"400": {
"description": "Error",
"schema": {
}
}
},
"security": [
{
"login": []
}
]
}
}

2) создал файл с именем myendpoint.php в файле modules / lhrestapi:

<?php

try {
erLhcoreClassRestAPIHandler::validateRequest();

$user = erLhcoreClassModelUser::fetch((int) $Params['user_parameters']
['user_id']);

if ($user instanceof erLhcoreClassModelUser) {

$db = ezcDbInstance::get();

echo json_encode(array('error' => false, 'result' => array('msg' =>
'Status changed', 'online' => $user->hide_online == 0)));

} else {
throw new Exception('User could not be found!');
}

} catch (Exception $e) {
echo erLhcoreClassRestAPIHandler::outputResponse(array(
'error' => true,
'result' => $e->getMessage()
));
}

exit();

а также

3) добавил это внутри lhrestapi \ module.php:

$ViewList['myendpoint'] = array(
'params' => array('user_id')
);

Когда я пробую эту конечную точку, я получаю код 302 (перенаправление на /index.php/), как будто маршрут не существует.

Насколько я вижу из других конечных точек в API, этих изменений должно быть достаточно, чтобы получить новую конечную точку.

Примечание: я также попытался изменить путь одного из существующих путей в swagger.json, и конечная точка все еще работает со старым путем. Я начинаю думать, что есть какая-то команда, которую мне нужно запустить для обновления API, так как простое редактирование файла swagger.json, похоже, не имеет абсолютно никакого эффекта. С другой стороны, я уверен, что в коде, который я добавил, нет синтаксических ошибок.

Есть идеи, что я не правильно делаю?

0

Решение

Нашел ответ: когда внесены изменения, кеш нужно очистить или даже отключить во время разработки.
Подробнее здесь: https://livehelperchat.com/article/view/40

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]