diff --git a/src/main/java/com/example/template/ProductController.java b/src/main/java/com/example/template/ProductController.java index b16f34d..ee8a50a 100644 --- a/src/main/java/com/example/template/ProductController.java +++ b/src/main/java/com/example/template/ProductController.java @@ -9,7 +9,7 @@ public class ProductController { @Autowired ProductService productService; - @GetMapping("/product/{productId}") + @GetMapping("/item/{productId}") Product productStockCheck(@PathVariable(value = "productId") Long productId) { System.out.println("productStockCheck call"); diff --git a/src/test/resources/contracts/rest/productGet.groovy b/src/test/resources/contracts/rest/productGet.groovy new file mode 100644 index 0000000..8cee3b9 --- /dev/null +++ b/src/test/resources/contracts/rest/productGet.groovy @@ -0,0 +1,31 @@ +package contracts.rest + +org.springframework.cloud.contract.spec.Contract.make { + request { + method 'GET' + url ('/product/1') + headers { + contentType(applicationJson()) + } + } + response { + status 200 + body( + id: 1, + name: "TV", + price: 10000, + stock: 10, + imageUrl: "testUrl" + ) + bodyMatchers { + jsonPath('$.id', byRegex(nonEmpty()).asLong()) + jsonPath('$.name', byRegex(nonEmpty()).asString()) + jsonPath('$.price', byRegex(nonEmpty()).asLong()) + jsonPath('$.stock', byRegex(nonEmpty()).asLong()) + jsonPath('$.imageUrl', byRegex(nonEmpty()).asString()) + } + headers { + contentType(applicationJson()) + } + } +}