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 в модулях / 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, похоже, не имеет абсолютно никакого эффекта. С другой стороны, я уверен, что в добавленном мной коде нет синтаксических ошибок.

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
232
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Другие вопросы по теме