Clojure / Ring如何在提交顺序中获取帖子参数

时间:2016-01-07 10:54:53

标签: clojure ring

我有一个非常复杂的表格。我需要按照提交的顺序从该表单中获取post参数。应用程序以ring / compojure创建。

我可以从响铃请求获得的所有参数都经过预处理(分组,排序......)

如何获取原始参数列表(最好解析为键/值向量或其他列表)?

2 个答案:

答案 0 :(得分:1)

您能提供有关项目的更多信息吗?您使用的HTTP服务器(http-kit,clj-http,aleph)以及您在项目中应用了哪些中间件?

所有基于参数的事物实际上都不是环规范的一部分,但是由中间件处理(参见https://github.com/ring-clojure/ring/wiki/Parameters),因此它在很大程度上取决于您当前所处的位数。 / p>

我不知道你想要的任何环中间件当前存在,他们似乎都解析参数列表并将其放入一个hashmap,如果存在多个具有相同键名的参数,他们会hashmap中的值是项的向量。

所有人都说,我不得不问。 为什么您是否按特定顺序需要它们?

答案 1 :(得分:1)

您最好的选择是创建自己的中间件。使用wrap-param中间件作为指南。您只需要在https://github.com/mmcgrana/ring/blob/master/ring-core/src/ring/middleware/params.clj#L29

处执行自定义操作

也就是说,我也担心按特定顺序期待params,因为它会使客户端 - 服务器通信变得脆弱。