specifically with regard to pact-feign-consumer
see also Pact in go.
see also Pact in js.
My goal with this fork: Come up with an automated way to generate and upload pact contracts to a pact broker based on an underlying rest implementation. This is driven by noticing that frequently, pacts are generated by inferring from the swagger json (as are clients) which leads to provders not actually being able to understand how their services are being used, rather supporting one or more pacts that more or less validate the swagger (at best).
Ideally this mentality could be applied with ease to multiple client languages. As a provider, I want to make it easy for my clients to keep their pacts up to date regardless of what language they choose to program in.
Worthy of note: this technique would enable higher value of using swagger-mock-validator. Frequently, pact modification generally entails agreement (and sometimes negotiation) between teams. If the pact were automatically generated and uploaded by the build process, it is feasible (desirable?) the pact could drift. In such a case, validating the pact and swagger align is more valuable (and worth the extra effort in the build pipline, due to reduced engineer overhead).
This repo contains example projects which show how to use different (not only) Java technologies. The examples are usually accompanied by a blog post on https://reflectoring.io.
See the READMEs in each subdirectory of this repo for more information.
All modules require Java 11 to compile and run.
The build is configured so that you can build all modules at once or each module separately.
In the main folder, run
./gradlew clean build
In the folder of the module, run
./gradlew clean build
Some folders contain non-Java projects. For those, refer to the README within the module folder.