diff --git a/core/modules/rest/src/RequestHandler.php b/core/modules/rest/src/RequestHandler.php
index 012942c..4135bb0 100644
--- a/core/modules/rest/src/RequestHandler.php
+++ b/core/modules/rest/src/RequestHandler.php
@@ -80,14 +80,15 @@ public static function create(ContainerInterface $container) {
    *   The route match.
    * @param \Symfony\Component\HttpFoundation\Request $request
    *   The HTTP request object.
+   * @param string $_rest_resource_config
+   *   REST resource config entity ID.
    *
    * @return \Symfony\Component\HttpFoundation\Response|\Drupal\rest\ResourceResponseInterface
    *   The REST resource response.
    */
-  public function handle(RouteMatchInterface $route_match, Request $request) {
-    $resource_config_id = $route_match->getRouteObject()->getDefault('_rest_resource_config');
+  public function handle(RouteMatchInterface $route_match, Request $request, $_rest_resource_config) {
     /** @var \Drupal\rest\RestResourceConfigInterface $resource_config */
-    $resource_config = $this->resourceStorage->load($resource_config_id);
+    $resource_config = $this->resourceStorage->load($_rest_resource_config);
 
     $response = $this->delegateToRestResourcePlugin($route_match, $request, $resource_config->getResourcePlugin());
 
diff --git a/core/modules/rest/tests/src/Kernel/RequestHandlerTest.php b/core/modules/rest/tests/src/Kernel/RequestHandlerTest.php
index 3ad421c..a0a94f1 100644
--- a/core/modules/rest/tests/src/Kernel/RequestHandlerTest.php
+++ b/core/modules/rest/tests/src/Kernel/RequestHandlerTest.php
@@ -71,14 +71,14 @@ public function testHandle() {
 
     // Response returns NULL this time because response from plugin is not
     // a ResourceResponse so it is passed through directly.
-    $response = $this->requestHandler->handle($route_match, $request);
+    $response = $this->requestHandler->handle($route_match, $request, 'restplugin');
     $this->assertEquals(NULL, $response);
 
     // Response will return a ResourceResponse this time.
     $response = new ResourceResponse([]);
     $resource->get(NULL, $request)
       ->willReturn($response);
-    $handler_response = $this->requestHandler->handle($route_match, $request);
+    $handler_response = $this->requestHandler->handle($route_match, $request, 'restplugin');
     $this->assertEquals($response, $handler_response);
 
     // We will call the patch method this time.
@@ -88,7 +88,7 @@ public function testHandle() {
     $resource->patch(NULL, $request)
       ->shouldBeCalledTimes(1)
       ->willReturn($response);
-    $handler_response = $this->requestHandler->handle($route_match, $request);
+    $handler_response = $this->requestHandler->handle($route_match, $request, 'restplugin');
     $this->assertEquals($response, $handler_response);
   }
 
