Skip to content

Commit 2307c36

Browse files
committed
Empty HAL-Forms options inline attribute should be serialized
Signed-off-by: Réda Housni Alaoui <reda-alaoui@hey.com>
1 parent d6265fb commit 2307c36

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/main/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ private Inline(Collection<? extends Object> values, @Nullable String promptRef,
309309
* @return
310310
*/
311311
@JsonProperty
312+
@JsonInclude(Include.ALWAYS)
312313
public Collection<? extends Object> getInline() {
313314
return inline;
314315
}

src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsJacksonModuleIntegrationTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,27 @@ void rendersFullInlineOptions() {
481481
});
482482
}
483483

484+
@Test // #2257
485+
void rendersEmptyInlineOptions() {
486+
487+
var options = HalFormsOptions.inline()
488+
.withPromptField("my-prompt-field")
489+
.withValueField("my-value-field")
490+
.withMinItems(2L)
491+
.withMaxItems(3L);
492+
493+
getCuriedMapper()
494+
.assertSerializes(options)
495+
.into(result -> {
496+
497+
assertThat(result.read("$.inline", Collection.class)).isEmpty();
498+
assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field");
499+
assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field");
500+
assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L);
501+
assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L);
502+
});
503+
}
504+
484505
@Test // #2257
485506
void rendersFullRemoteOptions() {
486507

0 commit comments

Comments
 (0)