mirror of
https://github.com/metosin/reitit.git
synced 2025-12-16 16:01:11 +00:00
Update docs for slash-handler
Composing routes isn't explained until later, so anyone reading the docs from start to finish would not know how to use the default-handler and slash-handler together until they read the resource-handler section. Took me a bit of time to realize this so hopefully something like this would save a bit of work for other new users.
This commit is contained in:
parent
e4b6b41554
commit
4016acb8ea
1 changed files with 18 additions and 0 deletions
|
|
@ -66,3 +66,21 @@ Setting the `redirect-trailing-slash-handler` as a second argument to `ring-hand
|
|||
(app {:uri "/pong"})
|
||||
; {:status 308, :headers {"Location" "/pong/"}, :body ""}
|
||||
```
|
||||
|
||||
`redirect-trailing-slash-handler` can be composed with the default handler using `ring/routes` for more correct http error responses:
|
||||
```clj
|
||||
(def app
|
||||
(ring/ring-handler
|
||||
(ring/router
|
||||
[["/ping" (constantly {:status 200, :body ""})]
|
||||
["/pong/" (constantly {:status 200, :body ""})]])
|
||||
(ring/routes
|
||||
(ring/redirect-trailing-slash-handler {:method :add})
|
||||
(ring/create-default-handler))))
|
||||
|
||||
(app {:uri "/ping/"})
|
||||
; {:status 404, :body "", :headers {}}
|
||||
|
||||
(app {:uri "/pong"})
|
||||
; {:status 308, :headers {"Location" "/pong/"}, :body ""}
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in a new issue