日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php拆分jsion_PHP拆分YAPI导出的swagjson文件

發(fā)布時(shí)間:2025/3/21 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php拆分jsion_PHP拆分YAPI导出的swagjson文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

項(xiàng)目采用了Yapi做為文檔管理工具,可是由于之前沒有劃分好模塊,結(jié)果文檔都寫到一起了,導(dǎo)致查看文檔不方便。

研究Yapi,發(fā)現(xiàn)不能移動(dòng)分組,而且只能導(dǎo)出項(xiàng)目下的所有接口,于是導(dǎo)出文件,研究后發(fā)現(xiàn)文檔里的文件夾是使用tag來表示的,于是想到可以把按照tag,導(dǎo)出成單個(gè)json文件,然后新建項(xiàng)目,再導(dǎo)入生產(chǎn)的json文件。

處理json的話,還是PHP方便,代碼如下:

用法 php yapi.php /path/yourjsonfile /path/output/ ,注意導(dǎo)出目錄最后得有'/'

function buildCommon($json)

{

$common = [

'swagger' => $json['swagger'],

'info' => $json['info'],

'basePath' => $json['basePath'],

'tags' => [],

'schemes' => $json['schemes'],

'paths' => [],

];

return $common;

}

function buildContent($json, $common, $outDir)

{

$paths = array_keys($json['paths']);

$orignTags = $json['tags'];

foreach ($orignTags as $tIndex => $tag) {

$result = $common;

foreach ($paths as $pIndex => $path) {

if (isset($json['paths'][$path]['post'])) {

$tags = $json['paths'][$path]['post']['tags'];

} else {

$tags = $json['paths'][$path]['get']['tags'];

}

if (in_array($tag['name'], $tags)) {

$result['paths'][$path] = $json['paths'][$path];

}

}

file_put_contents($outDir.$tag['name'].'.json',json_encode($result,JSON_UNESCAPED_UNICODE));

}

}

function main($param)

{

if (count($param) != 3) {

die("param error, example: sw.php input.json outputdir");

}

$content = file_get_contents($param[1]);

$json = json_decode($content, true);

if (!$json) {

die('input.json wrong');

}

$common = buildCommon($json);

buildContent($json, $common, $param[2]);

}

main($argv);

總結(jié)

以上是生活随笔為你收集整理的php拆分jsion_PHP拆分YAPI导出的swagjson文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。