我已经在我的java(spring mvc).I中添加了一个目录配置,想要在我的swagger ui端点php/中添加。我认为一个好的方法是在php中创建yaml ->创建它的json,然后将这些文件放到java中。resources.Then如何在我的java .In中使用它我的配置是,包含在外部路径中的每个控制器都将被包括在内,但现在我想使用外部的所有控制器,并使用它的json文件调用php (通过使用它的json文件),你有什么想法吗?
发布于 2020-04-06 17:43:18
如何将Swagger-UI添加到PHP服务器代码:
首先,所有Swagger UI都需要一个用OpenAPI编写的.json规范所在的API文件。此.json文件的路径在Swagger-UI的index.html中配置。index.html文件需要从NPM获取Swagger包代码才能呈现。浏览器将一起呈现代码,创建您的SwaggerUI!
安装(使用Composer):
composer require zircote/swagger-php要从任何地方使用cli,请全局安装swagger-php,并确保将~/.composer/vendor/bin目录放在您的路径中,以便您的系统可以找到openapi可执行文件。
composer global require zircote/swagger-php用法:
添加注释到你的php文件。
/**
* @OA\Info(title="My First API", version="0.1")
*/
/**
* @OA\Get(
* path="/api/resource.json",
* @OA\Response(response="200", description="An example resource")
* )
*/来自php的用法:
生成始终最新的文档。
<?php
require("vendor/autoload.php");
$openapi = \OpenApi\scan('/path/to/project');
header('Content-Type: application/x-yaml');
echo $openapi->toYaml();命令行界面中的用法:
生成静态json文件的文档。
./vendor/bin/openapi --help来自反序列化程序的用法:
从json字符串生成OpenApi注释对象,这使得以编程方式操作对象变得更容易。
<?php
use OpenApi\Serializer;
$serializer = new Serializer();
$openapi = $serializer->deserialize($jsonString, 'OpenApi\Annotations\OpenApi');
echo $openapi->toJson();来自docker的用法:
将swagger文档生成为静态json文件。
docker run -v "$PWD":/app -it tico/swagger-php --helpGitHub:https://github.com/zircote/swagger-php
更多详细信息请访问:https://medium.com/@tatianaensslin/how-to-add-swagger-ui-to-php-server-code-f1610c01dc03
https://stackoverflow.com/questions/61054558
复制相似问题