首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成java+php swagger

集成java+php swagger
EN

Stack Overflow用户
提问于 2020-04-06 15:04:34
回答 1查看 97关注 0票数 0

我已经在我的java(spring mvc).I中添加了一个目录配置,想要在我的swagger ui端点php/中添加。我认为一个好的方法是在php中创建yaml ->创建它的json,然后将这些文件放到java中。resources.Then如何在我的java .In中使用它我的配置是,包含在外部路径中的每个控制器都将被包括在内,但现在我想使用外部的所有控制器,并使用它的json文件调用php (通过使用它的json文件),你有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 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):

代码语言:javascript
复制
composer require zircote/swagger-php

要从任何地方使用cli,请全局安装swagger-php,并确保将~/.composer/vendor/bin目录放在您的路径中,以便您的系统可以找到openapi可执行文件。

代码语言:javascript
复制
composer global require zircote/swagger-php

用法:

添加注释到你的php文件。

代码语言:javascript
复制
/**
 * @OA\Info(title="My First API", version="0.1")
 */

/**
 * @OA\Get(
 *     path="/api/resource.json",
 *     @OA\Response(response="200", description="An example resource")
 * )
 */

来自php的用法:

生成始终最新的文档。

代码语言:javascript
复制
<?php
require("vendor/autoload.php");
$openapi = \OpenApi\scan('/path/to/project');
header('Content-Type: application/x-yaml');
echo $openapi->toYaml();

命令行界面中的用法:

生成静态json文件的文档。

代码语言:javascript
复制
./vendor/bin/openapi --help

来自反序列化程序的用法:

从json字符串生成OpenApi注释对象,这使得以编程方式操作对象变得更容易。

代码语言:javascript
复制
<?php

use OpenApi\Serializer;

$serializer = new Serializer();
$openapi = $serializer->deserialize($jsonString, 'OpenApi\Annotations\OpenApi');
echo $openapi->toJson();

来自docker的用法:

将swagger文档生成为静态json文件。

代码语言:javascript
复制
docker run -v "$PWD":/app -it tico/swagger-php --help

GitHub:https://github.com/zircote/swagger-php

更多详细信息请访问:https://medium.com/@tatianaensslin/how-to-add-swagger-ui-to-php-server-code-f1610c01dc03

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61054558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档