是否有某种规范的edn响应我们可以用于响铃?

时间:2013-06-12 20:49:13

标签: clojure ring edn

我一直在阅读edn规范,并希望将其集成到我的应用程序中。但是,我不知道如何在clojure和客户端之间传输edn请求。我们是否在响应头中放入了内容类型的application / edn并只发送了prn输出字符串?

1 个答案:

答案 0 :(得分:3)

虽然IANA(2013年6月14日)尚未接受,但正确的内容类型为application/edn。要提供clojure对象的有效字符串输出,请使用(pr-str obj)。对于Web服务,编码和解码方法取决于您的Web框架和您的需求。

Pedestal支持通过使用其:edn-params拦截器将edn解析为其请求图上的body-params密钥。如果您的响应主体不是字符串,则会自动处理将clojure对象作为edn发送。有关内容协商,请参阅pedestal-content-negotiation

对于环中间件,ring-edn将edn解析为:edn-params密钥,但不进行任何出站修改。 ring-middleware-format将少量不同格式解析为:body-params密钥,并且还有一组中间件,这些中间件也可以对响应有所帮助。还有一些像这样的其他环中间件项目。