Getting Started
Install Prerequisites
Start your installations before the presentation begins so that the dependencies are able to download before we start the workshop.
Install docker :
Mac:
https://docs.docker.com/docker-for-mac/install/Window:
https://docs.docker.com/docker-for-windows/install/Linux:
https://docs.docker.com/install/linux/docker-ce/ubuntu/
Pull docker images:
$ docker pull springcloud/spring-cloud-contract:2.1.1.RELEASE
$ docker pull springcloud/spring-cloud-contract-stub-runner:2.1.1.RELEASEInstall Node: https://nodejs.org/en/
Clone Repos:
$ git clone https://github.com/angularkc/contract-driven-development.git
$ git clone https://github.com/wkorando/produce-contracts.gitClient-Side Developers
From the root of contract-driven-development run the following:
$ npm installServer-Side Developers
From the root of contract-driven-development run the following:
$ cd produce-service
$ ./mvnw packageCurrently the contract of addProduce.yml is always sending the same response, ignoring the contents of the request the client is sending. Spring Cloud Contract can allow contracts to be more dynamic, for example allow fields within the response to pull from the request. Let's update addProduce.yml to do this.
Update POST contract to respond with request body
Every service is going to be composed of many different contracts. Defining how an API should respond to a given request. It's important that we not only define what happens for successful responses, but unsuccessful ones as well. Currently we have a contract findProduceByName.yml that defines what happens when a client successful searches for a subset of produce. Let's write a contract for when a client sends an invalid search request that has special characters in it.
Last updated
Was this helpful?