mirror of
https://github.com/YMFE/yapi.git
synced 2024-12-21 05:19:42 +08:00
fix: swagger import data bug
This commit is contained in:
parent
018f47a224
commit
c6105a5d18
@ -664,10 +664,11 @@ var anyType = { type: ['string', 'number', 'integer', 'boolean'] };
|
||||
var objectType = function objectType(value, path, resolve, traverseCallback) {
|
||||
var props = {};
|
||||
var properties = value.properties || {};
|
||||
var propertyKeys = value.required = Object.keys(properties);
|
||||
var patternProperties = value.patternProperties || {};
|
||||
var requiredProperties = (value.required || []).slice();
|
||||
var allowsAdditional = value.additionalProperties === false ? false : true;
|
||||
var propertyKeys = Object.keys(properties);
|
||||
|
||||
var patternPropertyKeys = Object.keys(patternProperties);
|
||||
var additionalProperties = allowsAdditional
|
||||
? (value.additionalProperties === true ? {} : value.additionalProperties)
|
||||
@ -1110,3 +1111,43 @@ var VERSION = "0.5.0-rc11";
|
||||
jsf.version = VERSION;
|
||||
|
||||
module.exports = jsf;
|
||||
var a = {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
},
|
||||
"username": {
|
||||
"type": "string"
|
||||
},
|
||||
"firstName": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastName": {
|
||||
"type": "string"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string"
|
||||
},
|
||||
"userStatus": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "User Status"
|
||||
}
|
||||
},
|
||||
"xml": {
|
||||
"name": "User"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(jsf(a))
|
@ -67,12 +67,13 @@ function improtData(importDataModule){
|
||||
}
|
||||
|
||||
if(data.consumes && Array.isArray(data.consumes)){
|
||||
if(data.consumes.indexOf('application/x-www-form-urlencoded') > -1 || data.consumes.indexOf('multipart/form-data' > -1)){
|
||||
if(data.consumes.indexOf('application/x-www-form-urlencoded') > -1 || data.consumes.indexOf('multipart/form-data') > -1 ){
|
||||
api.req_body_type = 'form';
|
||||
}else if(data.consumes.indexOf('application/json') > -1){
|
||||
api.req_body_type = 'json';
|
||||
}
|
||||
}
|
||||
|
||||
//处理response
|
||||
api.res_body = handleResponse(data.responses);
|
||||
|
||||
@ -87,7 +88,7 @@ function improtData(importDataModule){
|
||||
switch(param.in){
|
||||
case 'path' : api.req_params.push(defaultParam); break;
|
||||
case 'query': api.req_query.push(defaultParam); break;
|
||||
case 'body' : api.req_body_other = handleSchema(param.schema); break;
|
||||
case 'body' : handleBodyPamras(param.schema, api); break;
|
||||
case 'formData' : defaultParam.type = param.type === 'file'? 'file' : 'text'; api.req_body_form.push(defaultParam); break;
|
||||
case 'header' : api.req_headers.push(defaultParam);break;
|
||||
}
|
||||
@ -98,6 +99,21 @@ function improtData(importDataModule){
|
||||
return api;
|
||||
}
|
||||
|
||||
function isJson(json){
|
||||
try{
|
||||
return JSON.parse(json);
|
||||
}catch(e){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function handleBodyPamras(data, api){
|
||||
api.req_body_other = handleSchema(data);
|
||||
if(isJson(api.req_body_other)){
|
||||
api.req_body_type = 'json';
|
||||
}
|
||||
}
|
||||
|
||||
function handleResponse(api){
|
||||
let res_body = '';
|
||||
if(!api || typeof api !== 'object'){
|
||||
|
Loading…
Reference in New Issue
Block a user