Fork me on GitHub
#reitit
<
2018-12-05
>
ikitommi09:12:29

@arne-clojurians hi. Yes, that’s looks like bidi 😉 I think you can simplify the app with reitit as you can attach any meta-data to the routes.

ikitommi10:12:07

In your case, here are some options on modelling with reitit:

(def routes
  [["/" ::login]

   ;; flat routes, custom data
   ["/library"
    {:protected? true
     :name ::library
     :events [[:api/request "get-library"]]}]

   ["/library/:kind"
    {:name ::library-kind
     :parameters {:path {:kind int?}}
     :events [[:api/request "get-library-kind"]]}]]

  ;; nested routes & controllers
  ["/library-nested"
   {:protected? true
    :controllers [load-library-controller]}

   [""
    {:name ::library}]

   ["/:kind"
    {:name ::library-kind
     :parameters {:path {:kind int?}}
     :controllers [load-kind-controller]}]])

ikitommi10:12:26

e.g. flat-routes (as you have), but just with extra data, which is available on match. or nested routes where you can also nest the loads => going into /library-nested/kikka would invoke :start on both load-library-controller & load-kind-controller

ikitommi10:12:30

the frontend guides were updated few days ago, hopefully bit better now. there are example project on how to setup reitit too.

heyarne12:12:59

oh that looks super nice! thanks for your response, will look into it 🙂

ro617:12:53

Is there a way to indicate that the same :summary, :handler, etc.. should be used for multiple HTTP methods?

ro617:12:06

I guess I can just generate them

ikitommi18:12:45

@robert.mather.rmm yes, you can generate them. You can also put data to top-level route data, which gets merged to all endpoints.

ro618:12:08

got it, thanks

plins21:12:29

hello everyone, is anybody aware of an example with reitit and buddy-auth? I've just created a boilerplate app with lein new luminus my-api +service +reitit +jetty +postgres +auth-jwe but now Im having trouble to create a 'secure' route