Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump akka-actor_2.12 from 2.5.9 to 2.5.16 in /concurrency/akka/akka-spring-boot #8

Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
2166c9b
(1)修正参数的设置顺序
wx-chevalier Jul 9, 2017
9686054
添加实体类自动生成功能
wx-chevalier Jul 11, 2017
1640b76
Update README.md
wx-chevalier Jul 11, 2017
29ac5bc
Update README.md
wx-chevalier Jul 11, 2017
faa4ac7
(1)变更 lib 路径以方便进行编译
wx-chevalier Jul 11, 2017
0aac8ed
Merge branch 'master' of https://github.com/wxyyxc1992/swagger-decorator
wx-chevalier Jul 11, 2017
d1b9934
(1)将 declarative-validator 独立出来,成为单独的项目
wx-chevalier Jul 16, 2017
9073bed
(1)初始化创建 observer-x 库
wx-chevalier Jul 17, 2017
1a1dc69
修正 README.md
wx-chevalier Jul 18, 2017
4770a9e
(1)重命名本项目
wx-chevalier Jul 18, 2017
305ae9a
Update README.md
wx-chevalier Jul 18, 2017
cc0a113
Update README.en.md
wx-chevalier Jul 18, 2017
9189b65
(1)使用 Rollup 作为 observer-x 打包工具
wx-chevalier Jul 18, 2017
52fe388
Merge branch 'master' of https://github.com/wxyyxc1992/Modern-JavaScr…
wx-chevalier Jul 18, 2017
1ecaeb5
Update README.md
wx-chevalier Jul 19, 2017
e1f1bc4
Update README.md
wx-chevalier Jul 20, 2017
85e0f23
合并 Swagger-Decorator 的 PR
wx-chevalier Jul 23, 2017
3eda318
发布并且修正 observer-x 示例
wx-chevalier Jul 23, 2017
f1a8b41
refactor(src): 重命名 swagger-decorator 为 decorator-x
wx-chevalier Jul 25, 2017
dc41676
fet(demo): 为测试用例添加 GraphQL 支持
wx-chevalier Jul 25, 2017
d015ac2
refactor(fluent-fetcher): 将 fluent-fetcher 移动到现代 JavaScript 瑞士军刀中
wx-chevalier Jul 25, 2017
239e82b
refactor(fluent-fetcher): 升级依赖版本
wx-chevalier Aug 8, 2017
5e5924d
refactor(decorator-x):重构 Flow 支持
wx-chevalier Aug 8, 2017
4909587
refactor(observer-x):优化 Flow 支持
wx-chevalier Aug 8, 2017
18b65f9
refactor(*): 重构部分类型支持
wx-chevalier Aug 18, 2017
4b640cc
feature(*): Fix
wx-chevalier Sep 3, 2017
cf50ccf
重新命名文件内容
wx-chevalier Dec 17, 2017
7267bd5
Create Usage.md
wx-chevalier Jan 8, 2018
de41963
Update README.md
wx-chevalier Jan 8, 2018
07b9dc3
移入项目
wx-chevalier Feb 3, 2018
fbd3e91
feat: 更新 README
wx-chevalier Apr 28, 2018
86e2e1d
feat: update
wx-chevalier Apr 28, 2018
90c8dda
feat: update
wx-chevalier Apr 28, 2018
a75f8a1
feat: update
wx-chevalier May 14, 2018
a8cc844
refactor: 重新定位项目
wx-chevalier Nov 5, 2018
f4de99e
Create README.md
Nov 27, 2018
64dc741
feat: add glo
wx-chevalier Dec 26, 2018
c5844ec
Create README.md
Apr 23, 2019
3f6c2b4
Update README.md
Apr 23, 2019
fcdc8c5
build(deps): bump stringstream
dependabot[bot] Jun 21, 2019
4aae569
build(deps): bump stringstream from 0.0.5 to 0.0.6 in /js/x-fetch
dependabot[bot] Jun 21, 2019
d8dd492
Update README.md
Jun 24, 2019
f3c5ffd
Merge pull request #3 from wx-chevalier/dependabot/npm_and_yarn/js/x-…
Jun 24, 2019
1521ce7
Merge pull request #2 from wx-chevalier/dependabot/npm_and_yarn/js/ty…
Jun 24, 2019
1a22499
chore: housekeeping
wx-chevalier Aug 10, 2019
9bc5df0
chore: housekeeping
wx-chevalier Aug 10, 2019
14ca118
chore: housekeeping
wx-chevalier Aug 10, 2019
dd41345
chore: housekeeping
wx-chevalier Aug 15, 2019
fcb2818
Update README.md
Aug 19, 2019
ac498e4
chore: housekeeping
wx-chevalier Aug 29, 2019
6cd399f
chore: housekeeping
wx-chevalier Oct 29, 2019
35be94d
chore: housekeeping
wx-chevalier Dec 16, 2019
58f3bad
chore: housekeeping
wx-chevalier Dec 17, 2019
e81408f
chore: housekeeping
wx-chevalier Dec 19, 2019
b07f6a0
chore: housekeeping
wx-chevalier Feb 4, 2020
ae4a53d
build(deps): bump akka-actor_2.12 in /concurrency/akka/akka-spring-boot
dependabot[bot] Feb 4, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
(1)修正参数的设置顺序
(2)修复部分 Bug
  • Loading branch information
wx-chevalier committed Jul 9, 2017
commit 2166c9b5496ada5a4a480d2257be2e22db1ce8a4
14 changes: 14 additions & 0 deletions demo/controller/AnnouncementController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// @flow

import AnnouncementControllerDoc from "./AnnouncementControllerDoc";
import {apiDescription, apiRequestMapping} from "../../src/swagger/decorator";
import AnnouncementInterfaceEntity from "../entity/AnnouncementInterfaceEntity";

export default class AnnouncementController extends AnnouncementControllerDoc {
@apiRequestMapping(
"get",
"/announcements/:column_code/:menu_code/:category_code"
)
@apiDescription("根据目录结构获取公告列表信息。")
static async getAnnouncements(ctx, next): [AnnouncementInterfaceEntity] {}
}
8 changes: 8 additions & 0 deletions demo/controller/AnnouncementControllerDoc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// @flow

import AnnouncementInterfaceEntity from "../entity/AnnouncementInterfaceEntity";
import { apiResponse } from "../../src/swagger/decorator";
export default class AnnouncementControllerDoc {
@apiResponse(200, "get users successfully", [AnnouncementInterfaceEntity])
static async getAnnouncements(ctx, next): [AnnouncementInterfaceEntity] {}
}
1 change: 0 additions & 1 deletion demo/controller/UserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import UserControllerDoc from "./UserControllerDoc";
* Description 用户相关控制器
*/
export default class UserController extends UserControllerDoc {

@apiRequestMapping("get", "/users")
@apiDescription("get all users list")
static async getUsers(ctx, next): [User] {
Expand Down
3 changes: 2 additions & 1 deletion demo/controller/UserControllerDoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ export default class UserControllerDoc {
@pathParameter({
name: "id",
description: "user id",
type: "integer"
type: "integer",
defaultValue: 1
})
@queryParameter({
name: "tags",
Expand Down
39 changes: 39 additions & 0 deletions demo/entity/AnnouncementInterfaceEntity.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// @flow

import { entityProperty } from "../../src/entity/decorator";

/**
* Description 公告列表实体类
*/
export default class AnnouncementInterfaceEntity {
// 数据
@entityProperty({
type: "JSON",
description: "字段及数据",
required: true
})
meta: Object = [];

// 数据
@entityProperty({
type: "JSON",
description: `数据示例:
[
{
title: "(雨花区)雨花西路244号小区整治出新工程施工",
uuid: "ab7ed1171491496b54f78ee8e5be3ce4",
announce_date: "2017-07-06T16:00:00.000Z",
properties: [
"雨花西路244号小区整治出新工程",
"施工",
"AYH170230-01SG",
"201.70",
"2017-07-07"
]
}
]
`,
required: false
})
data: Object = [];
}
4 changes: 3 additions & 1 deletion demo/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
*/

import UserController from "./controller/UserController";
import {wrappingKoaRouter} from "../src/transform/koa_router";
import { wrappingKoaRouter } from "../src/transform/koa_router";
import AnnouncementController from "./controller/AnnouncementController";
const Router = require("koa-router");

const router = new Router();
Expand All @@ -22,6 +23,7 @@ router.get("/", async function(ctx, next) {

//定义用户处理路由
router.scan(UserController);
router.scan(AnnouncementController);

//默认导出路由配置
export default router;
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
{
"name": "swagger-decorator",
"version": "0.0.12",
"version": "0.0.17",
"description": "Decorator for Koa2 and koa-router, Auto-Generate Swagger Docs",
"main": "dist/index.js",
"browser": "dist/index.browser.js",
"scripts": {
"start": "./node_modules/.bin/nodemon --exec 'babel-node' './demo/app.js' --watch './src' --watch './demo'",
"prepublish": "npm run build",
"build": "node_modules/babel-cli/bin/babel.js src --out-dir dist",
"build": "rm -rf dist && node_modules/babel-cli/bin/babel.js src --out-dir dist",
"test": "jest"
},
"repository": {
Expand Down Expand Up @@ -52,6 +53,7 @@
"nodemon": "^1.11.0"
},
"dependencies": {
"path-to-regexp": "^1.7.0"
"path-to-regexp": "^1.7.0",
"sequelize": "^4.2.1"
}
}
10 changes: 10 additions & 0 deletions src/entity/decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@ export function generateEntityUUID(target, key, descriptor) {
return target.constructor.name;
}

/**
* Description 为某个类加上注解,并且创建新的对象以触发内部迭代注解
* @param Class
* @returns {*}
*/
export function entity(Class) {
new Class();
return Class;
}

/**
* Description 创建某个属性的描述
* @param type 基础类型 self - 表示为自身
Expand Down
4 changes: 4 additions & 0 deletions src/index.browser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// @flow

export { entityProperty } from "./entity/decorator";
export { innerEntityObject } from "./singleton";
43 changes: 11 additions & 32 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,14 @@
// @flow

import {
apiRequestMapping as _apiRequestMapping,
apiDescription as _apiDescription,
bodyParameter as _bodyParameter,
pathParameter as _pathParameter,
queryParameter as _queryParameter,
apiResponse as _apiResponse
export {
apiRequestMapping,
apiDescription,
bodyParameter,
pathParameter,
queryParameter,
apiResponse
} from "./swagger/decorator";
import { entityProperty as _entityProperty } from "./entity/decorator";
import { wrappingKoaRouter as _wrappingKoaRouter } from "./transform/koa_router";
import {
generateSequelizeModel as _generateSequelizeModel
} from "./transform/sequelize";
import {
innerAPIObject as _innerAPIObject,
innerEntityObject as _innerEntityObject
} from "./singleton";

export const innerAPIObject = _innerAPIObject;
export const innerEntityObject = _innerEntityObject;

export const apiRequestMapping = _apiRequestMapping;
export const apiDescription = _apiDescription;
export const bodyParameter = _bodyParameter;
export const pathParameter = _pathParameter;
export const queryParameter = _queryParameter;
export const apiResponse = _apiResponse;

export const entityProperty = _entityProperty;

export const wrappingKoaRouter = _wrappingKoaRouter;

export const generateSequelizeModel = _generateSequelizeModel;
export { entityProperty } from "./entity/decorator";
export { wrappingKoaRouter } from "./transform/koa_router";
export { generateSequelizeModel } from "./transform/sequelize";
export { innerAPIObject, innerEntityObject } from "./singleton";
25 changes: 16 additions & 9 deletions src/swagger/decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,19 @@ export function apiDescription(
* @param name
* @param description
* @param type
* @param defaultValue
* @returns {Function}
*/
export function pathParameter({
name,
description,
type
type,
defaultValue
}: {
name: string,
description: string,
type: string
type: string,
defaultValue: any
}) {
return function(target, key, descriptor) {
let apiKey = `${target.name}-${key}`;
Expand All @@ -76,12 +79,13 @@ export function pathParameter({
innerAPIObject[apiKey].pathParameter ||
(innerAPIObject[apiKey].pathParameter = []);

innerAPIObject[apiKey].pathParameter.push({
innerAPIObject[apiKey].pathParameter.splice(0, 0, {
name,
description,
type,
in: "path",
required: true
required: true,
default: defaultValue
});

return descriptor;
Expand All @@ -95,14 +99,16 @@ export function pathParameter({
* @param required
* @param type
* @param items
* @param defaultValue
* @returns {Function}
*/
export function queryParameter({
name,
description,
required,
type,
items
items,
defaultValue
}: {
name: string,
description: string,
Expand All @@ -118,13 +124,14 @@ export function queryParameter({
innerAPIObject[apiKey].queryParameter ||
(innerAPIObject[apiKey].queryParameter = []);

innerAPIObject[apiKey].queryParameter.push({
innerAPIObject[apiKey].queryParameter.splice(0, 0, {
name,
description,
required,
type,
items,
in: "query"
in: "query",
default: defaultValue
});

return descriptor;
Expand Down Expand Up @@ -158,7 +165,7 @@ export function bodyParameter({
innerAPIObject[apiKey].bodyParameter ||
(innerAPIObject[apiKey].bodyParameter = []);

innerAPIObject[apiKey].bodyParameter.push({
innerAPIObject[apiKey].bodyParameter.splice(0, 0, {
name,
description,
required,
Expand Down Expand Up @@ -192,7 +199,7 @@ export function apiResponse(

innerAPIObject[apiKey].responses || (innerAPIObject[apiKey].responses = []);

innerAPIObject[apiKey].responses.push({
innerAPIObject[apiKey].responses.splice(0, 0, {
statusCode,
description,
schema
Expand Down
20 changes: 13 additions & 7 deletions src/swagger/definitions.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ import { innerEntityObject } from "../singleton";
* @private
*/
export function buildDefinitions(Class: any) {
// 为了避免部分情况下传入的是 Class 数组,因此首先进行递归处理
while (Array.isArray(Class)) {
Class = Class[0];
}

// 初始化 Swagger JSON 中的 definitions 字段
swaggerJSON["definitions"] || (swaggerJSON["definitions"] = {});

Expand Down Expand Up @@ -39,13 +44,14 @@ export function buildDefinitions(Class: any) {

let realType = originType[0];

property.items = typeof realType === "function"
? {
$ref: `#/definitions/${originType[0].name}`
}
: {
type: `${originType[0]}`
};
property.items =
typeof realType === "function"
? {
$ref: `#/definitions/${originType[0].name}`
}
: {
type: `${originType[0]}`
};
}

// 如果为函数类型
Expand Down
Loading