Use MethodInvocationInfo class loader in case of JDK platform loader as well
Closes gh-30210
This commit is contained in:
@@ -21,6 +21,7 @@ import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.sql.Savepoint;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -384,14 +385,6 @@ public class MvcUriComponentsBuilderTests {
|
||||
assertThat(uriComponents.encode().toUri().toString()).isEqualTo("http://localhost/hotels/42/bookings/21");
|
||||
}
|
||||
|
||||
@Test // SPR-16710
|
||||
public void fromMethodCallWithCharSequenceReturnType() {
|
||||
UriComponents uriComponents = fromMethodCall(
|
||||
on(BookingControllerWithCharSequence.class).getBooking(21L)).buildAndExpand(42);
|
||||
|
||||
assertThat(uriComponents.encode().toUri().toString()).isEqualTo("http://localhost/hotels/42/bookings/21");
|
||||
}
|
||||
|
||||
@Test // SPR-16710
|
||||
public void fromMethodCallWithStringReturnType() {
|
||||
assertThatIllegalStateException().isThrownBy(() -> {
|
||||
@@ -409,6 +402,22 @@ public class MvcUriComponentsBuilderTests {
|
||||
assertThat(uriComponents.encode().toUri().toString()).isEqualTo("http://localhost/hotels/42/bookings/21");
|
||||
}
|
||||
|
||||
@Test // gh-30210
|
||||
public void fromMethodCallWithCharSequenceReturnType() {
|
||||
UriComponents uriComponents = fromMethodCall(
|
||||
on(BookingControllerWithCharSequence.class).getBooking(21L)).buildAndExpand(42);
|
||||
|
||||
assertThat(uriComponents.encode().toUri().toString()).isEqualTo("http://localhost/hotels/42/bookings/21");
|
||||
}
|
||||
|
||||
@Test // gh-30210
|
||||
public void fromMethodCallWithJdbc30115ReturnType() {
|
||||
UriComponents uriComponents = fromMethodCall(
|
||||
on(BookingControllerWithJdbcSavepoint.class).getBooking(21L)).buildAndExpand(42);
|
||||
|
||||
assertThat(uriComponents.encode().toUri().toString()).isEqualTo("http://localhost/hotels/42/bookings/21");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromMappingNamePlain() {
|
||||
initWebApplicationContext(WebConfig.class);
|
||||
@@ -716,6 +725,17 @@ public class MvcUriComponentsBuilderTests {
|
||||
}
|
||||
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/hotels/{hotel}")
|
||||
static class BookingControllerWithString {
|
||||
|
||||
@GetMapping("/bookings/{booking}")
|
||||
public String getBooking(@PathVariable Long booking) {
|
||||
return "url";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/hotels/{hotel}")
|
||||
static class BookingControllerWithCharSequence {
|
||||
@@ -729,11 +749,11 @@ public class MvcUriComponentsBuilderTests {
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/hotels/{hotel}")
|
||||
static class BookingControllerWithString {
|
||||
static class BookingControllerWithJdbcSavepoint {
|
||||
|
||||
@GetMapping("/bookings/{booking}")
|
||||
public String getBooking(@PathVariable Long booking) {
|
||||
return "url";
|
||||
public Savepoint getBooking(@PathVariable Long booking) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user