Sweet web apis with Compojure & Swagger
EPL-1.0 License
Bot releases are visible (Hide)
Published by Deraen over 9 years ago
2.1.0-M2
- [metosin/ring-swagger-ui "2.1.0-M2-2]
[metosin/ring-swagger "0.19.3"] is available but we use "0.19.2"
Published by Deraen over 9 years ago
:return (s/maybe User)
:responses {200 (s/maybe User)
400 (s/either Cat Dog)}
[metosin/ring-swagger "0.19.2"] is available but we use "0.19.1"
Published by Deraen over 9 years ago
:headers
, thanks to tchagnon!:path-param
allows any keywords, needed for the partial parameter matching with context*
compojure.api.meta/restructure-param
dispatch functions - for the swagger documentation part. See https://github.com/metosin/ring-swagger/blob/master/test/ring/swagger/swagger2_test.clj & https://github.com/metosin/compojure-api/blob/master/src/compojure/api/meta.clj for examples of the new schemas.context*
to allow setting meta-data to mid-routes. Mid-route meta-data are deep-merged into endpoint swagger-definitions at compile-time. At runtime, code is executed in place.(context* "/api/:kikka" []
:summary "summary inherited from context"
:path-params [kikka :- s/Str] ; enforced here at runtime
:query-params [kukka :- s/Str] ; enforced here at runtime
(GET* "/:kakka" []
:path-params [kakka :- s/Str] ; enforced here at runtime
(ok {:kikka kikka
:kukka kukka
:kakka kakka})))
[prismatic/plumbing "0.4.1"] is available but we use "0.3.7"
[potemkin "0.3.12"] is available but we use "0.3.11"
[prismatic/schema "0.4.0"] is available but we use "0.3.7"
[metosin/ring-http-response "0.6.1"] is available but we use "0.6.0"
[metosin/ring-swagger "0.19.0"] is available but we use "0.18.1"
[lein-ring "0.9.3"] is available but we use "0.9.2"
Published by Deraen over 9 years ago
(defapi app
{:format {:formats [:json-kw :yaml-kw :edn :transit-json :transit-msgpack]
:params-opts {}
:response-opts {}}
:validation-errors {:error-handler nil
:catch-core-errors? nil}
:exceptions {:exception-handler default-exception-handler}}
...)
compojure.core/wrap-routes
into compojure.api.sweet
compojure.api.middleware
, ex-info-support
is now parameterizable wrap-exception
[prismatic/plumbing "0.3.7"] is available but we use "0.3.5"
[compojure "1.3.2"] is available but we use "1.3.1"
[prismatic/schema "0.3.7"] is available but we use "0.3.3"
[metosin/ring-swagger "0.18.0"] is available but we use "0.15.0"
[metosin/ring-http-response "0.6.0"] is available but we use "0.5.2"
[metosin/ring-middleware-format "0.6.0"] is available but we use "0.5.0"
Published by Deraen over 9 years ago
ring-middleware-format
[cheshire "5.4.0"] is available but we use "5.3.1"
[metosin/ring-swagger-ui "2.0.24"] is available but we use "2.0.17"
[lein-ring "0.9.0"] is available but we use "0.8.13"
Published by Deraen over 9 years ago
[compojure "1.3.1"] is available but we use "1.2.1"
[metosin/ring-swagger "0.15.0"] is available but we use "0.14.1"
[peridot "0.3.1"] is available but we use "0.3.0"
Published by ikitommi almost 10 years ago
[org.tobereplaced/lettercase "1.0.0"]
for camel-casing (see https://github.com/metosin/compojure-api-examples/issues/1#issuecomment-62580504)[metosin/ring-swagger "0.14.1"] is available but we use "0.14.0"
Published by ikitommi almost 10 years ago
[prismatic/schema "0.3.3"] is available but we use "0.3.2"
[metosin/ring-http-response "0.5.2"] is available but we use "0.5.1"
:form-parameters
, thanks to Thomas Whitcomb
[prismatic/plumbing "0.3.5"] is available but we use "0.3.3"
[potemkin "0.3.11"] is available but we use "0.3.8"
[compojure "1.2.1"] is available but we use "1.1.9"
[prismatic/schema "0.3.2"] is available but we use "0.2.6"
[metosin/ring-http-response "0.5.1"] is available but we use "0.5.0"
[metosin/ring-swagger "0.14.0"] is available but we use "0.13.0"
[lein-ring "0.8.13"] is available but we use "0.8.11"
Published by Deraen about 10 years ago
:middlewares
broke route parametersPublished by Deraen about 10 years ago
:yaml-in-html
and :clojure
from default response formatsPublished by Deraen about 10 years ago
clojure.walk
Published by Deraen about 10 years ago
ring-swagger
hash-map
loses the order if it has enough properties(s/defschema Thingie (ordered-map :a String ...))
Published by Deraen about 10 years ago
ring-swagger
:body
and others no langer take description as third param, instead use :body [body (describe Schema "The description")]
describe
works also for Java classes :query-params [x :- (describe Long "first-param")]
(s/defschema Schema {:sub (describe [{:x Long :y String}] "Array of stuff")})
Published by Deraen over 10 years ago
[metosin/ring-swagger "0.8.7"]
[metosin/ring-swagger-ui "2.6.16-2"]