Skip to content

Commit 74fa1ec

Browse files
polysantiagoPablo Santiago
authored andcommitted
Updated documentation related to HATEOAS
1 parent 74739b3 commit 74fa1ec

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,13 @@ interface FooClient {
199199
@GetMapping(value = "/foo/{id}", produces = MediaTypes.HAL_JSON_VALUE)
200200
FooResource getFoo(@PathVariable("id") String id);
201201
202+
@GetMapping(value = "/foo/{id}", produces = MediaTypes.HAL_JSON_VALUE)
203+
Resource<Foo> getFooWrapped(@PathVariable("id") String id);
204+
202205
@GetMapping(value = "/foos", produces = MediaTypes.HAL_JSON_VALUE)
203206
Resources<FooResource> getFoos();
204207
205-
@GetMapping(value = "/pagedFoos", produces = MediaTypes.HAL_JSON_VALUE)
208+
@GetMapping(value = "/foos", produces = MediaTypes.HAL_JSON_VALUE)
206209
PagedResources<FooResource> getPagedFoos();
207210
208211
}

src/test/java/io/github/polysantiago/spring/rest/RestClientHateoasTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ interface FooClient {
8383
@GetMapping(value = SINGLE_RESOURCE, produces = MediaTypes.HAL_JSON_VALUE)
8484
FooResource getFoo(@PathVariable("id") String id);
8585

86+
@GetMapping(value = SINGLE_RESOURCE, produces = MediaTypes.HAL_JSON_VALUE)
87+
org.springframework.hateoas.Resource<Foo> getFooWrapped(@PathVariable("id") String id);
88+
8689
@GetMapping(value = COLLECTION_RESOURCE, produces = MediaTypes.HAL_JSON_VALUE)
8790
Resources<FooResource> getFoos();
8891

@@ -134,6 +137,22 @@ public void testSingleResource() throws Exception {
134137
assertThat(foo).isNotNull();
135138
assertThat(foo.getId()).isNotNull();
136139
assertThat(foo.getLink("foo").getHref()).isNotEmpty();
140+
assertThat(foo.getBar()).isEqualTo("some-value");
141+
}
142+
143+
@Test
144+
public void testSingleResourceWrapped() throws Exception {
145+
String endpoint = helper.replacePlaceholders(SINGLE_RESOURCE, s -> "1234");
146+
147+
mockServerHalResponse(endpoint, fooResourceJson);
148+
149+
org.springframework.hateoas.Resource<Foo> resource = fooClient.getFooWrapped("1234");
150+
151+
assertThat(resource).isNotNull();
152+
assertThat(resource.getId()).isNotNull();
153+
assertThat(resource.getLink("foo").getHref()).isNotEmpty();
154+
assertThat(resource.getContent()).isNotNull();
155+
assertThat(resource.getContent().getBar()).isEqualTo("some-value");
137156
}
138157

139158
@Test

0 commit comments

Comments
 (0)