diff --git a/src/Unstable/Routing/ResourceRoutes.php b/src/Unstable/Routing/ResourceRoutes.php
index b6fd8a9122f218e9cc64a659459ee93198673da0..8b5e4075b7bf7642ac90334703247a826dcc8a0b 100644
--- a/src/Unstable/Routing/ResourceRoutes.php
+++ b/src/Unstable/Routing/ResourceRoutes.php
@@ -86,7 +86,7 @@ final class ResourceRoutes implements EventSubscriberInterface {
   public function decorateJsonapiResourceRoutes(RouteBuildEvent $event) {
     $route_collection = $event->getRouteCollection();
     foreach ($route_collection as $route_name => $route) {
-      if ($route->getDefault('_jsonapi_resource') === NULL) {
+      if (!self::isJsonApiResourceRequest($route->getDefaults())) {
         continue;
       }
 
@@ -211,4 +211,17 @@ final class ResourceRoutes implements EventSubscriberInterface {
     }
   }
 
+  /**
+   * Determines if the given request is for a JSON:API Resource route.
+   *
+   * * @param array $defaults
+   * *   The request's route defaults.
+   * *
+   * * @return bool
+   * *   Whether the request targets a generated route.
+   */
+  public static function isJsonApiResourceRequest(array $defaults) {
+    return !empty($defaults['_jsonapi_resource']);
+  }
+
 }
diff --git a/tests/src/Unit/Routing/ResourceRoutesTest.php b/tests/src/Unit/Routing/ResourceRoutesTest.php
index 16d6d5e4474f19ff00f6bb3c654e47c6c904981f..cd986163f9ad6599907ddaa8bdac92b6d02186dd 100644
--- a/tests/src/Unit/Routing/ResourceRoutesTest.php
+++ b/tests/src/Unit/Routing/ResourceRoutesTest.php
@@ -49,16 +49,19 @@ final class ResourceRoutesTest extends UnitTestCase {
     $generic_route = $route_collection->get('generic_route');
     $this->assertSame('/generic', $generic_route->getPath());
     $this->assertNull($generic_route->getOption('_auth'));
+    $this->assertNull($generic_route->getRequirement('_format'));
 
     $jsonapi_resource_route = $route_collection->get('jsonapi_resource_route');
     $this->assertSame('/custom-base-path/resource', $jsonapi_resource_route->getPath());
     $this->assertSame(['GET'], $jsonapi_resource_route->getMethods());
     $this->assertSame(['basic_auth'], $jsonapi_resource_route->getOption('_auth'));
+    $this->assertEquals('api_json', $jsonapi_resource_route->getRequirement('_format'));
 
     $multi_method_route = $route_collection->get('jsonapi_resource_multi_method_route');
     $this->assertSame('/custom-base-path/resource', $multi_method_route->getPath());
     $this->assertSame(['POST', 'PATCH'], $multi_method_route->getMethods());
     $this->assertSame(['basic_auth'], $multi_method_route->getOption('_auth'));
+    $this->assertEquals('api_json', $multi_method_route->getRequirement('_format'));
   }
 
   /**