mirror of
https://github.com/YMFE/yapi.git
synced 2025-04-18 15:20:25 +08:00
fix: 更换node 端请求 swagger url 的方式
This commit is contained in:
parent
109c865820
commit
05d2bb3ad7
@ -31,7 +31,7 @@ const RadioGroup = Radio.Group;
|
||||
const importDataModule = {};
|
||||
const exportDataModule = {};
|
||||
const HandleImportData = require('common/HandleImportData');
|
||||
|
||||
import {json5_parse} from '../../../../common.js'
|
||||
function handleExportRouteParams(url, status, isWiki) {
|
||||
if (!url) {
|
||||
return;
|
||||
@ -89,7 +89,7 @@ class ProjectData extends Component {
|
||||
fetchUpdateLogData: PropTypes.func,
|
||||
updateLogList: PropTypes.array,
|
||||
handleSwaggerUrlData: PropTypes.func,
|
||||
swaggerUrlData: PropTypes.object
|
||||
swaggerUrlData: PropTypes.string
|
||||
};
|
||||
|
||||
componentWillMount() {
|
||||
@ -258,8 +258,8 @@ class ProjectData extends Component {
|
||||
try {
|
||||
// 处理swagger url 导入
|
||||
await this.props.handleSwaggerUrlData(this.state.swaggerUrl);
|
||||
|
||||
let res = await importDataModule[this.state.curImportType].run(this.props.swaggerUrlData);
|
||||
let result = json5_parse(this.props.swaggerUrlData)
|
||||
let res = await importDataModule[this.state.curImportType].run(result);
|
||||
if (this.state.dataSync === 'merge') {
|
||||
// merge
|
||||
this.showConfirm(res);
|
||||
|
@ -12,7 +12,7 @@ const userModel = require('../models/user.js');
|
||||
const logModel = require('../models/log.js');
|
||||
const followModel = require('../models/follow.js');
|
||||
const tokenModel = require('../models/token.js');
|
||||
const axios = require('axios');
|
||||
const url = require('url');
|
||||
|
||||
const sha = require('sha.js');
|
||||
|
||||
@ -1116,10 +1116,10 @@ class projectController extends baseController {
|
||||
// 输入 swagger url 的时候node端请求数据
|
||||
async swaggerUrl(ctx) {
|
||||
try {
|
||||
let url = ctx.request.query.url;
|
||||
|
||||
let result = await axios.get(url);
|
||||
ctx.body = yapi.commons.resReturn(result.data);
|
||||
let ops = url.parse(ctx.request.query.url);
|
||||
let result = await yapi.commons.createWebAPIRequest(ops);
|
||||
|
||||
ctx.body = yapi.commons.resReturn(result);
|
||||
} catch (err) {
|
||||
ctx.body = yapi.commons.resReturn(null, 402, err.message);
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ const ejs = require('easy-json-schema');
|
||||
|
||||
const jsf = require('json-schema-faker');
|
||||
const formats = require('../../common/formats');
|
||||
const http = require('http');
|
||||
|
||||
jsf.extend ('mock', function () {
|
||||
return {
|
||||
@ -626,3 +627,37 @@ exports.handleMockScript = function(script, context) {
|
||||
context.delay = sandbox.delay;
|
||||
};
|
||||
|
||||
|
||||
|
||||
exports.createWebAPIRequest = function(ops) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
let req = '';
|
||||
let http_client = http.request(
|
||||
{
|
||||
host: ops.hostname,
|
||||
method: 'GET',
|
||||
port: ops.port,
|
||||
path: ops.path
|
||||
},
|
||||
function(res) {
|
||||
res.on('error', function(err) {
|
||||
reject(err);
|
||||
});
|
||||
res.setEncoding('utf8');
|
||||
if (res.statusCode != 200) {
|
||||
reject({message: 'statusCode != 200'});
|
||||
} else {
|
||||
res.on('data', function(chunk) {
|
||||
req += chunk;
|
||||
});
|
||||
res.on('end', function() {
|
||||
resolve(req);
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
http_client.end();
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user