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

dependence 装饰器扩展 #11

Open
grassroadsZ opened this issue May 28, 2024 · 3 comments
Open

dependence 装饰器扩展 #11

grassroadsZ opened this issue May 28, 2024 · 3 comments

Comments

@grassroadsZ
Copy link
Contributor

  1. 目前 dependence 装饰器的 var_name 是一个Text字符串, 存在后置接口需要前置接口响应的90%的参数, 如果是这种情况的话,需要打n个 dependence 注解,能否支持传多个参数
@ae86sen
Copy link
Owner

ae86sen commented May 28, 2024

@grassroadsZ 是不是理解错了,这里存的是整个响应,var_name是这整个响应的key。
比如,一个接口依赖是: @dependence(common.user, "user_info")
这里第一个参数表示依赖的接口是common模块下的user接口,这个接口的整个响应以key-value的形式存到cache表里,其中"user_info"是这个key。
当要使用这个响应的数据时,self.cache.get_by_jsonpath("user_info","$..xxx"),根据你的需要,需要什么参数提取什么参数,因为整个响应内容都存了。

@grassroadsZ
Copy link
Contributor Author

使用步骤:

from aomaker.aomaker import dependence导入装饰器
导入依赖接口对象
在模板接口上使用@dependence 装饰器,该装饰器接收2个必传参数:
第一个参数,依赖接口对象
第二个参数,需要从依赖接口响应中提取的参数名
如果依赖接口本身需要从外部传入参数,那么可以以关键字参数的形式传入
在body中,当需要引用依赖接口的参数时,直接调用self.cache.get_by_jsonpath方法,该方法接收2个必传参数:
第一个参数,依赖参数的参数名,即cache表中的key名
第二个参数,从依赖接口的响应中,提取出依赖参数值的jsonpath表达式
非必填,jsonpath表达式提取出的值是list,可以根据自身需求指明需要提取哪个,默认值为0

那应该是我理解错了, 文档上写的是这样的 :
在模板接口上使用@dependence 装饰器,该装饰器接收2个必传参数:
第一个参数,依赖接口对象
第二个参数,需要从依赖接口响应中提取的参数名

@ae86sen
Copy link
Owner

ae86sen commented Jun 2, 2024

@grassroadsZ 后续我更新下文档,避免歧义

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

No branches or pull requests

2 participants