【发布时间】:2017-02-12 07:59:27
【问题描述】:
我已经开始学习 Luminus 框架以进入用于 Web 应用程序的 Clojure(脚本)。对于 RESTful 服务框架,建议使用 swagger/compojure-api。示例很有帮助,但我找不到任何用于返回集合的示例。
这是我的模型:
CREATE TABLE thread
(id INTEGER PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30));
和康曼查询:
-- :name get-threads :? :*
-- :doc selects all threads
SELECT * FROM thread
对于服务有一个schema(因为java的Thread所以叫Threadd):
(s/defschema Threadd {:id s/Int
:name s/Str})
最后,在服务路由中(defapi 表达式),简单的 GET:
(GET "/thread" []
:return Threadd
:summary "All threads"
(ok (db/get-threads)))
应用程序运行,Swagger-UI 在我的请求中返回这个(edn 格式):
{:errors "(not (map? a-clojure.lang.LazySeq))"}
不幸的是,这对我来说并不明显。如何返回指定架构的多个对象?可以transit+json格式退回吗?
【问题讨论】:
标签: clojure swagger compojure-api