在运行服务器时注册多个处理程序

Erh*_*mir 3 clojure compojure ring http-kit

有没有办法在运行http-kit服务器时注册多个处理程序:

(defroutes rest-main-app
  (GET "/" "Welcome"))

(defroutes rest-events-app
  (GET "/events" "Event API"))

(defn -main []
  (run-server rest-main-app {:port 5000}))
Run Code Online (Sandbox Code Playgroud)

如何将两个路由都传递给运行服务器,例如rest-main-app和rest-events-app?

Sym*_*rog 6

你可以使用compojure的routes功能.您也可以传递几个处理程序defroutes,下面提供了一个示例:

(defroutes get-routes
  (GET "/events" [] "Event API")
  (GET "/" [] "Welcome"))

(defroutes post-routes
  (POST "/events" [] "Post Event API"))

(def all-routes 
  (routes
   get-routes
   post-routes))

(defn -main []
  (run-server all-routes {:port 5000}))
Run Code Online (Sandbox Code Playgroud)