spring云契约提供者状态的使用

0md85ypi  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(266)

我使用的是SpringCloudContractsVersion2.1.1,我想使用ProviderState。我知道我可以使用这里和这里描述的场景。例如,我可以使用post method contract向db添加一些状态,然后使用get/calculate method contract,它基于db中的数据执行一些逻辑(provider state)。
但是,如果服务只包含get/calculate方法(它依赖于外部进程将数据直接加载到数据库中),该怎么办?如何在没有api方法的情况下创建提供程序状态?SpringCloud合同有可能吗?
我的理解是,使用pact,您可以使用任何java代码初始化提供者状态,并使该状态成为与的契约的一部分 given 以及 @State . 对于spring契约,我似乎仅限于使用api请求(创建契约并在场景中使用它)。有人能澄清一下我如何使用一些普通的java代码直接将状态加载到db中,并使之成为合同的一部分吗?

x6492ojm

x6492ojm1#

在SpringCloudContract中,我们认为您不应该设置提供者状态—这意味着您不应该依赖您的数据库。你应该模仿服务。如果您真的必须这样做,那么在before方法的基类中,您可以根据需要设置数据库状态。

相关问题