ItemResource { @PutMapping("{id}") public Mono<HttpEntity<ItemResponse>> updateItem(@PathVariable("id") @Id String id, @RequestBody @Valid ItemUpdateRequest itemUpdate) { return Mono.just(ResponseEntity.ok( new ItemResponse(id, itemUpdate.getDescription(), null, null, null, null))); }  @GetMapping("{id}") Mono<ItemResponse> getItem(@PathVariable("id") @Id String id); @GetMapping Flux<ItemResponse> allItems(); @PutMapping("{id}") Mono<HttpEntity<ItemResponse>> updateItem(@PathVariable("id") @Id String id,
            @RequestBody @Valid ItemUpdateRequest itemUpdate);  }
@Test public void updateItem() { ItemUpdateRequest data = new ItemUpdateRequest(); data.setDescription("Hot News"); webTestClient.put().uri("/items/1") .contentType(MediaType.APPLICATION_JSON) .body(Mono.just(data), ItemUpdateRequest.class) .exchange() .expectStatus().isOk() .expectBody() .jsonPath("$.id").isEqualTo("1") .jsonPath("$.description").isEqualTo("Hot News") .consumeWith(commonDocumentation()); }