fix: 增加json为空判断

This commit is contained in:
gaoxiaolin.gao 2018-04-10 15:43:12 +08:00
parent fe070c6710
commit 279cd2c3bb
3 changed files with 100 additions and 69 deletions

View File

@ -1,28 +1,79 @@
<h1 class="curproject-name"> email_test </h1>
<h1 class="curproject-name"> swagger_test </h1>
啊啊啊啊啊啊
# %u516C%u5171%u5206%u7C7B
# eeeeeee
[TOC]
# tag
[TOC]
## %28tag%29%u6839%u636E%u6709%u89C4%u5219%u7684%u6807%u7B7E%u5217%u8868%u6807%u7B7E%0A%3Ca%20id%3D%28tag%29%u6839%u636E%u6709%u89C4%u5219%u7684%u6807%u7B7E%u5217%u8868%u6807%u7B7E%3E%20%3C/a%3E
## 13%0A%3Ca%20id%3D13%3E%20%3C/a%3E
[TOC]
### 基本信息
**Path** /api/tag/get_rule_tag_list22
**Path** /api/13
**Method** GET
**接口描述:**
### 请求参数
**Query**
| 参数名称 | 是否必须 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ |
| qqq | 是 | | |
| wwww | 是 | | |
| wwwww | 是 | | |
### 返回数据
<table>
<thead class="ant-table-thead">
<tr>
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th>
</tr>
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> id</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span>The unique identifier for product</span></td><td key=5></td></tr><tr key=0-1><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> name</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-2><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> price</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=1><span style="font-weight: '700'">最小值: </span><span>0</span></p></td></tr><tr key=0-3><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> arr</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span>sdfsdf</span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=0-4><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> tags</span></td><td key=1><span>object []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=0><span style="font-weight: '700'">最小数量: </span><span>1</span></p><p key=1><span style="font-weight: '700'">元素是否都不同: </span><span>true</span></p><p key=3><span style="font-weight: '700'">item 类型: </span><span>object</span></p></td></tr><tr key=0-4-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> length</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-4-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> width</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-4-2><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> height</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-5><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> dimensions</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-5-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> length</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-5-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> width</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-5-2><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> height</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr>
</tbody>
</table>
## 16%0A%3Ca%20id%3D16%3E%20%3C/a%3E
[TOC]
### 基本信息
**Path** /api/16
**Method** GET
**接口描述:**
### 请求参数
### 返回数据
<table>
<thead class="ant-table-thead">
<tr>
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th>
</tr>
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> success</span></td><td key=1><span>boolean</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=0><span style="font-weight: '700'">枚举: </span><span>true,false</span></p></td></tr><tr key=0-1><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> data</span></td><td key=1><span>object</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-1-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> success</span></td><td key=1><span>boolean</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=0><span style="font-weight: '700'">枚举: </span><span>true</span></p></td></tr><tr key=0-1-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> data</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-1-1-0><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> count</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-1-1-1><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> rows</span></td><td key=1><span>object []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>object</span></p></td></tr><tr key=0-1-1-1-0><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> name</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr><tr key=0-1-1-1-1><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> id</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span></span></td><td key=5></td></tr>
</tbody>
</table>
## 22%0A%3Ca%20id%3D22%3E%20%3C/a%3E
[TOC]
### 基本信息
**Path** /api/22
**Method** POST
**接口描述:**
<p>(tag)根据有规则的标签列表标签qqqwwwwww他吞吞吐吐vvvvvvvv</p>
<p>ddd</p>
### 请求参数
@ -31,60 +82,41 @@
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ | ------------ |
| Content-Type | application/json | 是 | | |
| SiteUID | | 是 | | |
| ClientId | | 是 | | |
| Token | | 是 | | 请求令牌 |
**Query**
| 参数名称 | 是否必须 | 示例 | 备注 |
| ------------ | ------------ | ------------ | ------------ |
| page_num | 是 | | 页码数 |
| page_size | 是 | | 一页数据数量 |
**Body**
```javascript
{
"id": "@integer",
"name1": "@string",
"tag_group_id": "@integer",
"type": "@integer",
"type1": "@integer",
"type3": "@integer",
"type4": "@email"
}
```
<table>
<thead class="ant-table-thead">
<tr>
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th>
</tr>
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> id</span></td><td key=1><span>integer</span></td><td key=2>必须</td><td key=3></td><td key=4><span>The unique identifier for a product</span></td><td key=5></td></tr><tr key=0-1><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> name</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span>Name of the product</span></td><td key=5></td></tr><tr key=0-2><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> price</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span></span></td><td key=5><p key=1><span style="font-weight: '700'">最小值: </span><span>0</span></p></td></tr>
</tbody>
</table>
### 返回数据
```javascript
/**
* 这是一个 response 事例
*/
{
"code": "@string",
"info": {
"data": [
{
"id_11": "@integer",
"name": "@string",
"weight": "@integer",
"is_show": "@integer",
"type": "@integer",
"is_automatic_update": "@integer",
"product_count": "@integer",
"insert_time": "@string",
"tag_group_1": [
{
"id": "@integer",
"name": "@string",
"insert_time": "@string"
}
]
}
],
"meta": {
"count": "@integer"
}
},
"msg": "@string"
"errcode": 0, //错误编码
"data": {
"id": "uuid-xxx", //产品id
"name": "iphone" //产品名称
}
}
```
# test
# ee
[TOC]
# tag
[TOC]
# %u545C%u545C%u545C
[TOC]

View File

@ -7,9 +7,9 @@ import { json_parse } from '../../common/utils.js'
const transformJsonToSchema = (json) => {
json = json || {}
let jsonData = json_parse(json)
jsonData = GenerateSchema(jsonData);
let schemaData = JSON.stringify(jsonData)
@ -133,19 +133,20 @@ function postman(importDataModule){
let reqType = 'json', header;
data.request.headers.forEach(item=>{
if(!item ||item.name ||item.value) return null;
if(/content-type/i.test(item.name) && item.value.index('application/json') === 0){
if(!item || !item.name || !item.value) return null;
if(/content-type/i.test(item.name) && item.value.indexOf('application/json') === 0){
reqType = 'json';
header = 'application/json';
}else if(/content-type/i.test(item.name) && item.value.index('application/x-www-form-urlencoded') === 0){
}else if(/content-type/i.test(item.name) && item.value.indexOf('application/x-www-form-urlencoded') === 0){
header = 'application/x-www-form-urlencoded'
reqType = 'form';
}else if(/content-type/i.test(item.name) && item.value.index('multipart/form-data') === 0){
}else if(/content-type/i.test(item.name) && item.value.indexOf('multipart/form-data') === 0){
header = 'multipart/form-data'
reqType = 'form';
}
})
console.log('data',data)
for(let item in key){
item = key[item];
if(item === "req_query"){
@ -158,8 +159,6 @@ function postman(importDataModule){
}
}else if(item === 'req_body_other' && reqType === 'json' && data.request.postData){
res[item] = transformJsonToSchema(data.request.postData.text);
}else if(item === "req_headers"){
res[item] = [{
@ -182,7 +181,7 @@ function postman(importDataModule){
}
}else if(item === 'res_body_type'){
res[item] = 'json';
}else if(item === 'res_body'){
}else if(item === 'res_body' ){
res[item] = transformJsonToSchema(data.response.content.text);
}
else{

View File

@ -229,7 +229,7 @@ function postman(importDataModule){
}
const transformJsonToSchema = (json) => {
json = json || {}
let jsonData = json_parse(json)
jsonData = GenerateSchema(jsonData);