Allow UriTemplate to be built with an empty template
Closes gh-32438
This commit is contained in:
committed by
Stéphane Nicoll
parent
5056e8cbfb
commit
5dfec09edd
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2021 the original author or authors.
|
* Copyright 2002-2024 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -66,7 +66,7 @@ public class UriTemplate implements Serializable {
|
|||||||
* @param uriTemplate the URI template string
|
* @param uriTemplate the URI template string
|
||||||
*/
|
*/
|
||||||
public UriTemplate(String uriTemplate) {
|
public UriTemplate(String uriTemplate) {
|
||||||
Assert.hasText(uriTemplate, "'uriTemplate' must not be null");
|
Assert.notNull(uriTemplate, "'uriTemplate' must not be null");
|
||||||
this.uriTemplate = uriTemplate;
|
this.uriTemplate = uriTemplate;
|
||||||
this.uriComponents = UriComponentsBuilder.fromUriString(uriTemplate).build();
|
this.uriComponents = UriComponentsBuilder.fromUriString(uriTemplate).build();
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2024 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -27,6 +27,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||||
|
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Arjen Poutsma
|
* @author Arjen Poutsma
|
||||||
@@ -35,6 +36,16 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
|||||||
*/
|
*/
|
||||||
public class UriTemplateTests {
|
public class UriTemplateTests {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void emptyPathDoesNotThrowException() {
|
||||||
|
assertThatNoException().isThrownBy(() -> new UriTemplate(""));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void nullPathThrowsException() {
|
||||||
|
assertThatIllegalArgumentException().isThrownBy(() -> new UriTemplate(null));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getVariableNames() throws Exception {
|
public void getVariableNames() throws Exception {
|
||||||
UriTemplate template = new UriTemplate("/hotels/{hotel}/bookings/{booking}");
|
UriTemplate template = new UriTemplate("/hotels/{hotel}/bookings/{booking}");
|
||||||
|
|||||||
Reference in New Issue
Block a user