想象一下,有些人想要在披萨服务器上查询比萨饼列表。这个人只会做
GET /pizzas
;=> ["cheese", "extra cheese", "broccoli"]
使用 pedestal-app 的数据模型和消息,我不知道如何设计客户端 - 服务器通信。以下是几分钟的吊床带来的可能性:
[{:type :add :topic [:pizzas] :value "cheese"} ...]
)在我看来,通过方法#2和#4,我绕过并失去了拦截器的所有好处。方法#2,我需要加倍路由逻辑。使用方法#4,我还需要生成大量代码来容纳基座客户端。
选项#1和#3看起来更好,但#3闻起来很乱,#1,误导。
你们是怎么做到的?
谢谢!
答案 0 :(得分:0)
我不知道基座,我一直在使用ring / compojure / etc。
使用ring,您可以使用ring.middleware.json
并在页面周围放置ring.middleware.json/wrap-json-response
和ring.middleware.json/wrap-json-params
,然后将入站json数据解析为参数,您可以将json返回为:
(ring.util.response/response ["cheese", "extra cheese", "broccoli"])
如果您的图书馆不支持这些行为,您可以从环等中提取相关代码。