This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-09-01
Channels
- # adventofcode (2)
- # announcements (3)
- # babashka-sci-dev (79)
- # beginners (76)
- # biff (2)
- # calva (32)
- # cider (2)
- # clj-kondo (42)
- # clj-on-windows (17)
- # clojure (28)
- # clojure-belgium (1)
- # clojure-berlin (1)
- # clojure-europe (95)
- # clojure-nl (4)
- # clojure-norway (4)
- # clojure-uk (5)
- # clojurescript (27)
- # conjure (5)
- # cursive (3)
- # data-science (16)
- # datomic (67)
- # graalvm (12)
- # hyperfiddle (36)
- # jobs (3)
- # jobs-discuss (1)
- # kaocha (2)
- # klipse (1)
- # leiningen (28)
- # lsp (16)
- # luminus (3)
- # malli (10)
- # nrepl (3)
- # off-topic (57)
- # other-languages (18)
- # re-frame (4)
- # reitit (8)
- # releases (1)
- # remote-jobs (1)
- # scittle (4)
- # shadow-cljs (7)
- # test-check (1)
- # tools-deps (4)
- # vim (11)
- # xtdb (25)
I added swagger support to luminus, and I am having trouble defining endpoint with path variable, I defined endpoint like this:
["/:id"
{:get {:summary "This request returns single sport by ID"
:swagger {:produces ["application/json"]}
:parameters {:path-params {:id int?}}
:responses {200 {:description "Sport data"
:body {:id int?
:name string?
:url string?
:enabled boolean?
:createdAt string?
:updatedAt string?}}
404 {:description "Sport not found"
:body {:status int?
:message string?}}}
:handler (fn [{{{:keys [id] :as id} :path} :path-params}]
(sports-service/get-sport id))}
but when I try calling this via swagger ui, I get following error in console altough parameter gets passed to handler function:
2022-09-01 17:21:00,338 [XNIO-1 task-1] ERROR io.undertow.request - UT005071: Undertow request failed HttpServerExchange{ GET /api/sports/1}
java.lang.IllegalArgumentException: Key must be integer
at clojure.lang.APersistentVector.invoke(APersistentVector.java:297)
at ring.middleware.flash$flash_response.invokeStatic(flash.clj:24)
at ring.middleware.flash$flash_response.invoke(flash.clj:14)
at ring.middleware.flash$wrap_flash$fn__5702.invoke(flash.clj:39)
at ring.adapter.undertow.middleware.session$wrap_undertow_session$fn__6260.invoke(session.clj:77)
at ring.middleware.keyword_params$wrap_keyword_params$fn__6504.invoke(keyword_params.clj:53)
at ring.middleware.nested_params$wrap_nested_params$fn__6562.invoke(nested_params.clj:89)
at ring.middleware.multipart_params$wrap_multipart_params$fn__6860.invoke(multipart_params.clj:171)
at ring.middleware.params$wrap_params$fn__6887.invoke(params.clj:75)
at ring.middleware.cookies$wrap_cookies$fn__6033.invoke(cookies.clj:214)
at ring.middleware.absolute_redirects$wrap_absolute_redirects$fn__7075.invoke(absolute_redirects.clj:47)
at ring.middleware.resource$wrap_resource_prefer_resources$fn__6923.invoke(resource.clj:25)
at ring.middleware.content_type$wrap_content_type$fn__7023.invoke(content_type.clj:34)
at ring.middleware.default_charset$wrap_default_charset$fn__7047.invoke(default_charset.clj:31)
at ring.middleware.not_modified$wrap_not_modified$fn__6989.invoke(not_modified.clj:61)
at ring.middleware.x_headers$wrap_x_header$fn__6444.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__6444.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__6444.invoke(x_headers.clj:22)
at ring.adapter.undertow$undertow_handler$fn$reify__18538.handleRequest(undertow.clj:40)
at io.undertow.server.session.SessionAttachmentHandler.handleRequest(SessionAttachmentHandler.java:68)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
at java.base/java.lang.Thread.run(Thread.java:833)