ClojureScript cljs-ajax客户端库转换{:b [1 2]}为b[0]=1&b[1]=2
例如:
(http/get "http://example.com" {:b [1 2]})
Run Code Online (Sandbox Code Playgroud)
导致请求:
"http://example.com?b[0]=1&b[1]=2"
Run Code Online (Sandbox Code Playgroud)
如何在服务器端设置我的环中间件来处理这种格式?我想将其转换回原始结构:
{:b [1 2]}
Run Code Online (Sandbox Code Playgroud)
我正在使用下面的中间件,但它无法正常工作:
(ring.middleware.keyword-params/wrap-keyword-params)
(ring.middleware.params/wrap-params :encoding encoding)
(ring.middleware.nested-params/wrap-nested-params)
Run Code Online (Sandbox Code Playgroud) clojure.java.io/resource 能否从类路径加载文件但在 jar 文件之外?当我将文件放在 jar 文件中时,它会加载文件,但是当我将文件放在 jar 之外但在类路径中时,它不会加载文件。
例子
jar 名称: hello.jar jar 中有文件 hello.txt
java -jar hello.jar
Run Code Online (Sandbox Code Playgroud)
我发现使用下面的行读取文件 hello.txt 文件没有问题
(->
"hello.txt"
(clojure.java.io/resource)
(clojure.java.io/file)
(slurp))
Run Code Online (Sandbox Code Playgroud)
但是当我将 hello.txt 放在 jar 之外但在类路径中时,它无法加载文件。
java -cp . -jar hello.jar
Run Code Online (Sandbox Code Playgroud)
hello.txt 文件与 hello.jar 文件位于同一目录中。
Br, 马蒙
在我的Clojure项目中,我使用的是Clojure Spec但是如果我需要使用像compojure-api这样的lib,那么我需要使用Schema.