Модели Swagger-PHP не читаются

В настоящее время мне нужно документировать проект php с использованием swagger. Однако он не следует традиционному шаблону MVC, а вместо этого содержит статические файлы, которые извлекают/принимают данные и что-то возвращают.

Ресурсы обычно создаются внутри файла json, однако по какой-то причине модели, которые я делаю, не отображаются. Вот пример того, что я бы поместил в один из моих файлов:

/*@SWG\Resource(
 *    basePath="mypath",
 *    resourcePath="/resource",
 *    produces="['application/json']",
 *    @SWG\Api(
 *        path="resource",
 *        @SWG\Operation(
 *            method="POST",
 *            type="void",
 *            summary="Submit a json thing",
 *            @SWG\Consumes("application/json"),
 *            @SWG\Parameter(
 *                name="body",
 *                description="The json containing information",
 *                type="CLASS",
 *                required=true,
 *                paramType="body"
 *            ),
 *            nickname="resource"
 *        )
 *    )
 *) 
 */


/**
 * @SWG\Model(id="CLASS", @SWG\Property(name="name", type="string")) 
 */

Эта проблема решена Раздел моделей всегда пропускается, и я не могу внедрить схему модели в свои файлы json.

Новая проблема Я получаю либо ошибку нехватки памяти, либо зависание swagger, в зависимости от моего сервера:

На моем личном сервере, когда я пытаюсь задокументировать, он либо зависает/зависает, и я не вижу сообщений об ошибках (это не происходит с реализацией примера из репозитория Swagger-php). Когда я нахожусь на реальном сервере, возникает ошибка нехватки памяти: Неустранимая ошибка PHP: Недостаточно памяти (выделено -1202716672) (попытка выделить 261900 байт) в phar:///usr/local/bin/swagger.phar/ библиотека/Swagger/Swagger.php в строке 668

Что касается того, что я использую для документирования, я использую файл swagger.phar из командной строки.

Любая помощь относительно того, как заставить модели появляться, была бы отличной. Спасибо.


person user3855005    schedule 01.09.2014    source источник


Ответы (1)


Swagger-php просматривает только T_DOC_COMMENT, начинающиеся с /**

Комментарии, начинающиеся с /* и //, учитываются.

person Bob Fanger    schedule 01.09.2014
comment
Ах я вижу. Я добавил дополнительную звездочку, и теперь я получаю сообщение об ошибке нехватки памяти: Неустранимая ошибка PHP: Недостаточно памяти (выделено -1202716672) (пытался выделить 261900 байт) в phar:///usr/local/bin/swagger. phar/library/Swagger/Swagger.php в строке 668 Это происходит только тогда, когда я включаю объявление @SWG\Model. - person user3855005; 02.09.2014
comment
На моем личном сервере я могу создать документацию, используя примеры, представленные в репозитории github, но когда я использую свой файл, он не работает. Я считаю, что из-за этого я не думаю, что это проблема с памятью, хотя, пожалуйста, поправьте меня, если я ошибаюсь. Я подозреваю, что у меня синтаксическая ошибка, или, скорее, что-то, что я делаю неправильно, о чем я не знаю. Я старался как можно точнее следовать примерам в репозитории и на странице аннотаций. - person user3855005; 02.09.2014
comment
Просто быстрое обновление в отношении сообщения сверху, на моем личном сервере, когда я пытаюсь документировать, он либо лагает/зависает, и я не вижу сообщений об ошибках (это не происходит с реализацией примера из репозитория Swagger-php) . Когда я нахожусь на реальном сервере, возникает ошибка нехватки памяти. Фактическое распределение памяти на сервере намного больше, чем на моем личном, поэтому я немного смущен тем, почему я вижу эту ошибку только на реальном сервере, а не на своем собственном. - person user3855005; 02.09.2014
comment
Ах, это ошибка внутри inheritProperties(), которая исправлена ​​в ветке 0.9. - person Bob Fanger; 03.09.2014
comment
В настоящее время я использую сборку swagger.phar 0.9.4; Должен ли я использовать предыдущую версию вместо этого? - person user3855005; 04.09.2014