CrossClj

0.1.1 docs

SourceDocs



RECENT
    VARS
    create-swagger-handler
    swagger-feature

    « Index of all namespaces of this project

    (create-swagger-handler)
    Feature for handling swagger-documentation for routes.
    Works both with Middleware & Interceptors. Does not participate
    in actual request processing, just provides specs for the new
    documentation keys for the route data. Should be accompanied by a
    [[swagger-spec-handler]] to expose the swagger spec.
    
    New route data keys contributing to swagger docs:
    
    | key           | description |
    | --------------|-------------|
    | :swagger      | map of any swagger-data. Must have :id (keyword or sequence of keywords) to identify the api
    | :no-doc       | optional boolean to exclude endpoint from api docs
    | :tags         | optional set of strings of keywords tags for an endpoint api docs
    | :summary      | optional short string summary of an endpoint
    | :description  | optional long description of an endpoint. Supports http://spec.commonmark.org/
    
    Also the coercion keys contribute to swagger spec:
    
    | key           | description |
    | --------------|-------------|
    | :parameters   | optional input parameters for a route, in a format defined by the coercion
    | :responses    | optional descriptions of responess, in a format defined by coercion
    
    Example:
    
        ["/api"
         {:swagger {:id :my-api}
          :middleware [reitit.swagger/swagger-feature]}
    
         ["/swagger.json"
          {:get {:no-doc true
                 :swagger {:info {:title "my-api"}}
                 :handler reitit.swagger/swagger-spec-handler}}]
    
         ["/plus"
          {:get {:tags #{:math}
                 :summary "adds numbers together"
                 :description "takes x and y query-params and adds them together"
                 :parameters {:query {:x int?, :y int?}}
                 :responses {200 {:body {:total pos-int?}}}
                 :handler (fn [{:keys [parameters]}]
                            {:status 200
                             :body (+ (-> parameters :query :x)
                                      (-> parameters :query :y)})}}]]