On Monday, 27 July 2015, hemant gautam <[email protected]> wrote:
> On running the below mentioned code on browser I am getting "Page not
> found" for each type of request.
> Can anybody suggest me where I am doing a mistake.
>
> (ns currentday.core
> (:require [compojure.core :refer :all]
> [compojure.route :as route]
> [compojure.handler :as handler]
> [ring.middleware.defaults :refer :all]
> [ring.util.response :refer :all])
> (:use ring.adapter.jetty))
>
> (defn now []
> (new java.util.Date))
>
> (defn say-hello []
> "Hello!! everyone. I am home page of webservice.")
>
> (defn date-is [req]
> "Today's date is: " (str (now)))
>
> (defn get-date [req]
> (-> (response (date-is))
> (content-type "text/html")))
>
> (defn add-data [a b]
> (-> (response "Sum of two no. is: "(str (+ a b)))
> (content-type "text/html")))
>
> (defn sub-data [a b]
> (-> (response "Subtraction of two no. is: "(str (- a b)))
> (content-type "text/html")))
>
> (defroutes my-routes
> (GET "/" [] "Hello")
> (GET "/date" req (get-date [req]))
> (GET "/add/:a/:b" [a b] (add-data a b))
> (GET "/sub/:a/:b" [a b] (sub-data a b))
> (route/not-found "Page not found"))
>
> (def app
> (handler/site my-routes))
>
> (defonce server (run-jetty #'app {:port 3032 :join? false}))
>
I'm not in a position to actually try that code, so I'm shooting blind.
Here are a few comments:
* You do not seem to be using the ring.middleware.defaults, but instead use
the deprecated compojure.handler ns.
* Your say-hello function is not used.
* Your "/" route returns a String, which as far as I know is not a valid
ring response. Try with {:status 200 :body "Hello!"} instead of just a
string?
* Your add and subtract handlers look like they should throw exceptions, as
you're calling response with 2 args and it's defined to receive a single
string argument.
* From what I see here, I do not see any reason why the "/date" route does
not work.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.