日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

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

發布時間:2025/3/21 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php拆分jsion_PHP拆分YAPI导出的swagjson文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

研究Yapi,發現不能移動分組,而且只能導出項目下的所有接口,于是導出文件,研究后發現文檔里的文件夾是使用tag來表示的,于是想到可以把按照tag,導出成單個json文件,然后新建項目,再導入生產的json文件。

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

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

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);

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。