Skip to content

Commit 2f1adfd

Browse files
committed
Fixed project
1 parent deac4c4 commit 2f1adfd

File tree

2 files changed

+99
-97
lines changed

2 files changed

+99
-97
lines changed

project.clj

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
(defproject metosin/compojure-api-examples "1.0.0"
1+
(defproject metosin/compojure-api-examples "1.0.1"
22
:description "Compojure-api-examples"
33
:dependencies [[org.clojure/clojure "1.8.0"]
4-
[clj-time "0.11.0"] ;; needed as `lein ring uberwar` is broken.
5-
[metosin/compojure-api "1.0.0"]]
4+
[metosin/compojure-api "1.1.9"]]
65
:ring {:handler compojure.api.examples.handler/app}
76
:uberjar-name "examples.jar"
87
:uberwar-name "examples.war"
98
:profiles {:uberjar {:resource-paths ["swagger-ui"]
109
:aot :all}
1110
:dev {:dependencies [[javax.servlet/servlet-api "2.5"]]
12-
:plugins [[lein-ring "0.9.7"]]}})
11+
:plugins [[ikitommi/lein-ring "0.9.8-FIX"]]}})

src/compojure/api/examples/handler.clj

+96-93
Original file line numberDiff line numberDiff line change
@@ -4,96 +4,99 @@
44
[compojure.api.examples.domain :refer :all]
55
[schema.core :as s]))
66

7-
(defapi app
8-
{:swagger
9-
{:info {:title "Sample Api"
10-
:description "Compojure Api sample application"}
11-
:tags [{:name "math", :description "math with parameters"}
12-
{:name "echo", :description "request echoes"}
13-
{:name "pizza", :description "pizza Api it is."}]}}
14-
15-
(context "/math" []
16-
:tags ["math"]
17-
18-
(GET "/plus" []
19-
:return Total
20-
:query-params [x :- Long, y :- Long]
21-
:summary "x+y with query-parameters"
22-
(ok {:total (+ x y)}))
23-
24-
(POST "/minus" []
25-
:return Total
26-
:body-params [x :- Long, y :- Long]
27-
:summary "x-y with body-parameters"
28-
(ok {:total (- x y)}))
29-
30-
(GET "/times/:x/:y" []
31-
:return Total
32-
:path-params [x :- Long, y :- Long]
33-
:summary "x*y with path-parameters"
34-
(ok {:total (* x y)}))
35-
36-
(GET "/power" []
37-
:return Total
38-
:header-params [x :- Long, y :- Long]
39-
:summary "x^y with header-parameters"
40-
(ok {:total (long (Math/pow x y))})))
41-
42-
(context "/echo" []
43-
:tags ["echo"]
44-
45-
(GET "/request" req
46-
(ok (dissoc req :body)))
47-
48-
(GET "/pizza" []
49-
:return NewSingleToppingPizza
50-
:query [pizza NewSingleToppingPizza]
51-
:summary "get echo of a pizza"
52-
(ok pizza))
53-
54-
(PUT "/anonymous" []
55-
:return [{:secret Boolean s/Keyword s/Any}]
56-
:body [body [{:secret Boolean s/Keyword s/Any}]]
57-
(ok body))
58-
59-
(GET "/hello" []
60-
:return String
61-
:query-params [name :- String]
62-
(ok (str "Hello, " name)))
63-
64-
(POST "/pizza" []
65-
:return NewSingleToppingPizza
66-
:body [pizza NewSingleToppingPizza]
67-
:summary "post echo of a pizza"
68-
(ok pizza)))
69-
70-
(context "/pizzas" []
71-
:tags ["pizza"]
72-
73-
(GET "/" []
74-
:return [Pizza]
75-
:summary "Gets all Pizzas"
76-
(ok (get-pizzas)))
77-
78-
(POST "/" []
79-
:return Pizza
80-
:body [pizza NewPizza {:description "new pizza"}]
81-
:summary "Adds a pizza"
82-
(ok (add! pizza)))
83-
84-
(PUT "/" []
85-
:return Pizza
86-
:body [pizza Pizza]
87-
:summary "Updates a pizza"
88-
(ok (update! pizza)))
89-
90-
(GET "/:id" []
91-
:return Pizza
92-
:path-params [id :- Long]
93-
:summary "Gets a pizza"
94-
(ok (get-pizza id)))
95-
96-
(DELETE "/:id" []
97-
:path-params [id :- Long]
98-
:summary "Deletes a Pizza"
99-
(ok (delete! id)))))
7+
(def app
8+
(api
9+
{:swagger
10+
{:ui "/"
11+
:spec "/swagger.json"
12+
:data {:info {:title "Sample Api"
13+
:description "Compojure Api sample application"}
14+
:tags [{:name "math", :description "math with parameters"}
15+
{:name "echo", :description "request echoes"}
16+
{:name "pizza", :description "pizza Api it is."}]}}}
17+
18+
(context "/math" []
19+
:tags ["math"]
20+
21+
(GET "/plus" []
22+
:return Total
23+
:query-params [x :- Long, y :- Long]
24+
:summary "x+y with query-parameters"
25+
(ok {:total (+ x y)}))
26+
27+
(POST "/minus" []
28+
:return Total
29+
:body-params [x :- Long, y :- Long]
30+
:summary "x-y with body-parameters"
31+
(ok {:total (- x y)}))
32+
33+
(GET "/times/:x/:y" []
34+
:return Total
35+
:path-params [x :- Long, y :- Long]
36+
:summary "x*y with path-parameters"
37+
(ok {:total (* x y)}))
38+
39+
(GET "/power" []
40+
:return Total
41+
:header-params [x :- Long, y :- Long]
42+
:summary "x^y with header-parameters"
43+
(ok {:total (long (Math/pow x y))})))
44+
45+
(context "/echo" []
46+
:tags ["echo"]
47+
48+
(GET "/request" req
49+
(ok (dissoc req :body)))
50+
51+
(GET "/pizza" []
52+
:return NewSingleToppingPizza
53+
:query [pizza NewSingleToppingPizza]
54+
:summary "get echo of a pizza"
55+
(ok pizza))
56+
57+
(PUT "/anonymous" []
58+
:return [{:secret Boolean s/Keyword s/Any}]
59+
:body [body [{:secret Boolean s/Keyword s/Any}]]
60+
(ok body))
61+
62+
(GET "/hello" []
63+
:return String
64+
:query-params [name :- String]
65+
(ok (str "Hello, " name)))
66+
67+
(POST "/pizza" []
68+
:return NewSingleToppingPizza
69+
:body [pizza NewSingleToppingPizza]
70+
:summary "post echo of a pizza"
71+
(ok pizza)))
72+
73+
(context "/pizzas" []
74+
:tags ["pizza"]
75+
76+
(GET "/" []
77+
:return [Pizza]
78+
:summary "Gets all Pizzas"
79+
(ok (get-pizzas)))
80+
81+
(POST "/" []
82+
:return Pizza
83+
:body [pizza NewPizza {:description "new pizza"}]
84+
:summary "Adds a pizza"
85+
(ok (add! pizza)))
86+
87+
(PUT "/" []
88+
:return Pizza
89+
:body [pizza Pizza]
90+
:summary "Updates a pizza"
91+
(ok (update! pizza)))
92+
93+
(GET "/:id" []
94+
:return Pizza
95+
:path-params [id :- Long]
96+
:summary "Gets a pizza"
97+
(ok (get-pizza id)))
98+
99+
(DELETE "/:id" []
100+
:path-params [id :- Long]
101+
:summary "Deletes a Pizza"
102+
(ok (delete! id))))))

0 commit comments

Comments
 (0)