Swagger PHP API Документация (выполнение PHP-файлов для создания JSON)

Я пытаюсь сделать документацию Restful API в PHP swagger, то, что я делал раньше, это то, что я изменил json для работы, теперь я знаю, что мы можем сделать json, создавая файлы PHP и используя нотацию swagger. Я проверил пример Pet.php и получил код, но я не знаю, как выполнить файл, чтобы получить документацию json api, которую я могу связать с моим Swagger UI. Я читаю документацию, но она настолько запутанная, и я не знаю, как решить эту проблему, может кто-нибудь помочь, пожалуйста. Вот ссылка, которую я изучаю, но не стоит.

http://zircote.com/swagger-php/using_swagger.html

Swagger-PHP для генерации файла JSON для Swagger-UI

Может кто-нибудь сказать мне шаг за шагом, как создать документацию API в JSON. Я очень благодарен ему, спасибо

0

Решение

Есть два способа добиться этого в swagger-php 2.0.

Я.
Первое решение — создать контроллер или скрипт, который будет генерировать документацию по каждому запросу. Это хорошее решение в среде разработки, где вы хотите быстро увидеть результат ваших изменений.

Вот пример контроллера, который делает это.

<?php
namespace Controllers;

use Swagger\Annotations as SWG;
use Swagger;

/**
* @SWG\Swagger(
*      basePath="/path/to/opration/",
*      produces={"application/json"},
*      swagger="2.0",
*      @SWG\Info(
*          version="1.0.0",
*          title="My API"*      )
* )
*
*/
class Documentation {

const API_PATH = "path/to/my/documented/files/";

public function show(){
$swagger = Swagger\scan(self::API_PATH);

return json_enconde($swagger); //you can echo this in the calling script.
}
}

Замечания: В приведенном выше примере предполагается, что вы установили Swagger-php с Composer и что вызывающий скрипт включает в себя созданный композитором файл автозагрузки (обычно он называется: vendor/autoload.php).

II.
Первое решение, состоящее в создании статической документации по json API, описано здесь: https://stackoverflow.com/a/21380432/2853903

Это решение рекомендуется для производственного развертывания, где вы не хотите создавать заново документацию по каждому запросу.

0

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

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

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