我有一个非常复杂的表格。我需要按照提交的顺序从该表单中获取post参数。应用程序以ring / compojure创建。
我可以从响铃请求获得的所有参数都经过预处理(分组,排序......)
如何获取原始参数列表(最好解析为键/值向量或其他列表)?
答案 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,因为它会使客户端 - 服务器通信变得脆弱。