+
+ +
+
+ +
+ +

Error Messages

+

All exceptions thrown in router creation are caught, formatted and rethrown by the reitit.core/router function. Exception formatting is done by the excepton formatter defined by the :exception router option.

+

Default Errors

+

The default exception formatting uses reitit.exception/exception. It produces single-color, partly human-readable, error messages.

+
(require '[reitit.core :as r])
+
+(r/router
+  [["/ping"]
+   ["/:user-id/orders"]
+   ["/bulk/:bulk-id"]
+   ["/public/*path"]
+   ["/:version/status"]])
+
+

Pretty error

+

Pretty Errors

+
[metosin/reitit-dev "0.3.1"]
+
+

For human-readable and developer-friendly exception messages, there is reitit.dev.pretty/exception (in the reitit-dev module). It is inspired by the lovely errors messages of ELM and ETA and uses fipp, expound and spell-spec for most of heavy lifting.

+
(require '[reitit.dev.pretty :as pretty])
+
+(r/router
+  [["/ping"]
+   ["/:user-id/orders"]
+   ["/bulk/:bulk-id"]
+   ["/public/*path"]
+   ["/:version/status"]]
+  {:exception pretty/exception})
+
+

Pretty error

+

Extending

+

Behind the scenes, both error formatters are backed by a multimethod, so they are easy to extend.

+

More examples

+

See the validating route data page.

+ + +
+ +
+
+
+ +

results matching ""

+
    + +
    +
    + +

    No results matching ""

    + +
    +
    +
    + +
    +