                                                 (-> handler#
                                                   ~add-resolvers
                                                   ~middleware))
-                                             middleware)]
+                                             middleware)
+                          schema           (:schema metadata)]
                       [[method pathvec]
                        `(let [route-params# ~(zipmap
                                                (map keyword route-params)

                                                   non-route-params)]
                                           (~verb-fn-sym ~@arglist)))]
                          ((~apply-middleware ~middleware ~sync? handler#)
                           (assoc ~req
                             :route-params route-params#)))]))
                  dt)
              :else nil))))))


             (if (contains? route-params param)
               `(get (:route-params ~request-sym) ~(keyword param))
               `(internals/extract-argument-value
                  ~(keyword param)
                  ~request-sym
                  (-> ~request-sym :rook :arg-resolvers)))])
    arglist))
