| 123456789101112131415161718192021222324252627282930313233343536 |
- var converter = require('oas-raml-converter');
- var fs = require('fs');
- var raml10ToOas20 = new converter.Converter(converter.Formats.RAML, converter.Formats.OAS20);
- const tagsMap = {
- '/api/assignment/code': '代码作业',
- '/api/assignment/course/{courseId}/code': '代码作业',
- '/api/assignment/student/course/{courseId}/code': '代码作业',
- '/api/assignment/teacher/course/{courseId}/code' : '代码作业',
- '/api/assignment/teacher/code' : '代码作业',
- '/api/assignment/student/code' : '代码作业',
- '/api/codehw': '代码作业',
- '/api/user': '用户',
- '/api/course': '课程',
- '/api/question': '问题',
- '/api/group': '小组',
- }
- raml10ToOas20.convertFile('./index.raml')
- .then(function(json) {
- // 接口名称
- json = json.replace(/operationId/g, 'summary');
- json = JSON.parse(json)
- // tags支持
- tags = Object.values(tagsMap).map(v => ({name: v, description: v}));
- json['tags'] = tags;
- Object.keys(json.paths).forEach(uri => {
- uriTags = Object.keys(tagsMap).filter(k => uri.startsWith(k)).map(k => tagsMap[k]);
- Object.keys(json.paths[uri]).forEach(method => {
- json.paths[uri][method]['tags'] = uriTags;
- });
- });
- fs.writeFileSync('./swagger.json', JSON.stringify(json, null, ' '));
- })
- .catch(function(err) {
- console.error(err);
- });
|