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

Enhancement: @openapi #3

Open
sigoden opened this issue Jun 16, 2021 · 3 comments
Open

Enhancement: @openapi #3

sigoden opened this issue Jun 16, 2021 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@sigoden
Copy link
Owner

sigoden commented Jun 16, 2021

很多项目自带OpenApi/Swagger文档。
OpenAPI中包含了接口的路由信息,并定义了接口请求和响应的数据结构。
这些其实可以被测试项目复用的。

是否可以通过@openapi注解复用 OpenApi 中的信息?

{
	// 引入openapi文档
	@openapi("api")
	// 支持多个openapi文档
	@openapi("apiManage")

	// 复用addPet路由信息
	addPet1: { @openapi("api#addPet")
		req: {
			body: {
			}
		},
		res: {
			// 使用JsonSchema校验响应数据
			body: { @openapi("api#Pet") 
			}
		}
	}
}

这是个开放的Issue,邀请大家一起讨论下是否有必要引入这个特性,如何简单自然的引入。

@sigoden sigoden pinned this issue Jun 16, 2021
@sigoden sigoden added the enhancement New feature or request label Jun 18, 2021
@sigoden sigoden self-assigned this Jun 18, 2021
@sigoden sigoden unpinned this issue Jun 18, 2021
@night-breeze888
Copy link

// 引入openapi文档
@openapi("api")
// 支持多个openapi文档
@openapi("apiManage")

// 复用addPet路由信息
addPet1: { @openapi("api#addPet")
           /* 这一块为optional 
	req: {
		body: {
		}
	},
	res: {
		// 使用JsonSchema校验响应数据
		body: { @openapi("api#Pet") 
		}
	}
        */
}

@kiwiflydream
Copy link

感觉 cli 工具可以通过解析 openapi 文件,自动生成一个 mixin 文件,定义好,请求地址,请求参数,返回值可以是@type 弱校验,这个文件不需要手动修改,接口变更重新生成便可,测试的时候依赖这个 mixin 文件,然后写参数及返回值的校验,这样可以把变化的与不变化的分开

@chenws1012
Copy link

这个功能在使用的便利性,就是个大的飞跃,和openapi结合生态更完善了👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants