Compojure-Api return 模式对象向量
Compojure-Api return vector of schema objects
我已经开始学习 Luminus 框架以进入 Web 应用程序的 Clojure(script)。对于 RESTful 服务框架建议使用 swagger/compojure-api。示例很有帮助,但我找不到任何 returning 集合。
这是我的模型:
CREATE TABLE thread
(id INTEGER PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30));
和康曼查询:
-- :name get-threads :? :*
-- :doc selects all threads
SELECT * FROM thread
对于服务有一个模式(由于 java 的 Thread 而被称为 Threadd):
(s/defschema Threadd {:id s/Int
:name s/Str})
最后,在 service-routes(defapi
表达式)中,简单 GET:
(GET "/thread" []
:return Threadd
:summary "All threads"
(ok (db/get-threads)))
应用程序运行,Swagger-UI return根据我的要求(edn 格式):
{:errors "(not (map? a-clojure.lang.LazySeq))"}
不幸的是,这对我来说并不明显。如何 return 指定模式的多个对象?我可以return他们在运输+json格式吗?
您可以为 a sequence of 个线程定义另一个模式:
(s/defschema Threads [Threadd])
并将其指定为端点的 return 类型:
(GET "/thread" []
:return Threads
:summary "All threads"
(ok (db/get-threads)))
您也可以内联定义它:
(GET "/thread" []
:return [Threadd]
:summary "All threads"
(ok (db/get-threads)))
我已经开始学习 Luminus 框架以进入 Web 应用程序的 Clojure(script)。对于 RESTful 服务框架建议使用 swagger/compojure-api。示例很有帮助,但我找不到任何 returning 集合。
这是我的模型:
CREATE TABLE thread
(id INTEGER PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30));
和康曼查询:
-- :name get-threads :? :*
-- :doc selects all threads
SELECT * FROM thread
对于服务有一个模式(由于 java 的 Thread 而被称为 Threadd):
(s/defschema Threadd {:id s/Int
:name s/Str})
最后,在 service-routes(defapi
表达式)中,简单 GET:
(GET "/thread" []
:return Threadd
:summary "All threads"
(ok (db/get-threads)))
应用程序运行,Swagger-UI return根据我的要求(edn 格式):
{:errors "(not (map? a-clojure.lang.LazySeq))"}
不幸的是,这对我来说并不明显。如何 return 指定模式的多个对象?我可以return他们在运输+json格式吗?
您可以为 a sequence of 个线程定义另一个模式:
(s/defschema Threads [Threadd])
并将其指定为端点的 return 类型:
(GET "/thread" []
:return Threads
:summary "All threads"
(ok (db/get-threads)))
您也可以内联定义它:
(GET "/thread" []
:return [Threadd]
:summary "All threads"
(ok (db/get-threads)))