postman导出请求url_Postman导出Api文档

该博客介绍了一个Java工具类`ExportPostManApiUtil`,用于读取Postman导出的JSON数据,并将其解析为接口名称、地址、请求方式及请求参数等信息,最终将这些信息拼接成HTML格式,方便查看和管理API文档。
摘要由CSDN通过智能技术生成

packagezf;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;import java.io.*;importjava.util.ArrayList;importjava.util.List;/*** Created by Yan on 2018/4/3.*/

public classExportPostManApiUtil {public staticString readToString(String fileName) {

String encoding= "UTF-8";

File file= newFile(fileName);

Long fileLength=file.length();byte[] fileContent = new byte[fileLength.intValue()];try{

FileInputStream in= newFileInputStream(file);

in.read(fileContent);

in.close();

}catch(FileNotFoundException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}try{return newString(fileContent, encoding);

}catch(UnsupportedEncodingException e) {

System.err.println("The OS does not support " +encoding);

e.printStackTrace();return null;

}

}public static voidmain(String[] args) {//readFile("C:\\Users\\Yan\\Desktop\\api\\b.json");//readFile("C:\\Users\\Yan\\Desktop\\api\\c.json");//readFile("C:\\Users\\Yan\\Desktop\\api\\d.json");//readFile("C:\\Users\\Yan\\Desktop\\api\\e.json");//readFile("C:\\Users\\Yan\\Desktop\\api\\f.json");

readFile("C:\\Users\\Yan\\Desktop\\api\\h.json");

}/*** 解析postman 导出的Json数据

*

*@parampath*/

private static voidreadFile(String path) {

String file=readToString(path);

JSONObject allData=JSONObject.fromObject(file);

String title= allData.getString("name");

String requests= allData.getString("requests");

JSONArray reqList=JSONArray.fromObject(requests);

List postManList = new ArrayList<>();for(Object o : reqList) {

JSONObject jo=(JSONObject) o;

PostMan postMan= newPostMan();

postMan.setName(jo.getString("name"));

postMan.setUrl(jo.getString("url"));

postMan.setMethod(jo.getString("method"));if (!jo.getString("data").equals("null")) {

JSONArray dataArr= JSONArray.fromObject(jo.getString("data"));

List dataList = new ArrayList<>();if (dataArr.size() > 0) {for(Object d : dataArr) {

JSONObject jsonData=(JSONObject) d;

Data data= newData();

data.setKey(jsonData.getString("key"));

data.setType(jsonData.getString("type"));

data.setEnabled(jsonData.getBoolean("enabled"));if (jsonData.containsKey("description")) {

data.setDescription(jsonData.getString("description"));

}

data.setValue(jsonData.getString("value"));

dataList.add(data);

}

}

postMan.setData(dataList);

}

postManList.add(postMan);

}

writeToHtml(title, postManList);

}/*** 数据拼成html

*

*@paramtitle

*@parampostManList*/

private static void writeToHtml(String title, ListpostManList) {

StringBuffer buffer= newStringBuffer();

buffer.append("

" + title + "

");

buffer.append("
");for(PostMan pm : postManList) {

buffer.append("

接口名称:" + pm.getName() + "

");

buffer.append("
");

buffer.append("

接口地址:" + pm.getUrl() + "

");

buffer.append("
");

buffer.append("

请求方式:" + pm.getMethod() + "

");

buffer.append("
");

List dataList =pm.getData();if (null != dataList && dataList.size() > 0) {

buffer.append("

请求参数:

");

buffer.append("
");

buffer.append("

buffer.append("

");

buffer.append("

参数名参数类型是否必填示例值描述");

buffer.append("

");for(Data data : dataList) {

buffer.append("

");

buffer.append("

" + data.getKey() + "" + data.getType() + "" + data.getEnabled() + "" + data.getValue() + "" + data.getDescription() + "");

buffer.append("

");

}

buffer.append("

");

buffer.append("
");

}

}

System.out.println(buffer.toString());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值