Questions tagged «compojure»

5
复合路线背后的“大创意”是什么?
我是Clojure的新手,并且一直在使用Compojure编写基本的Web应用程序。不过,我正在用Compojure的defroutes语法碰壁,我想我需要同时理解所有背后的“如何”和“为什么”。 环形应用程序似乎以HTTP请求映射开始,然后只是通过一系列中间件功能传递请求,直到将其转换为响应映射,然后再发送回浏览器。这种样式对于开发人员来说似乎太“低级”了,因此需要像Compojure这样的工具。我可以看到在其他软件生态系统中也需要更多抽象,尤其是使用Python的WSGI。 问题是我不理解Compojure的方法。让我们采用以下defroutesS表达式: (defroutes main-routes (GET "/" [] (workbench)) (POST "/save" {form-params :form-params} (str form-params)) (GET "/test" [& more] (str "<pre>" more "</pre>")) (GET ["/:filename" :filename #".*"] [filename] (response/file-response filename {:root "./static"})) (ANY "*" [] "<h1>Page not found.</h1>")) 我知道理解所有这些的关键在于一些宏伏都教,但是我还没有完全理解宏。我已经盯着defroutes源头很长时间了,但是只是不明白!这里发生了什么?了解“大创意”可能会帮助我回答以下特定问题: 如何从路由功能(例如workbench功能)中访问Ring环境?例如,假设我要访问HTTP_ACCEPT标头或请求/中间件的其他部分? 解构({form-params :form-params})有什么处理?解构时可以使用哪些关键字? 我真的很喜欢Clojure,但是我很沮丧!
109 clojure  compojure 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.