我正在尝试使用解放者宏defresource
,但是intellij IDE不断返回错误“(arg)无法解决”
我正在使用clojure,ring和liberator做一个项目,在这个项目中,我的依赖项为
:dependencies [[org.clojure/clojure "1.10.0"]
[liberator "0.15.3"]
[compojure "1.6.0"]
[ring/ring-core "1.7.1"]]
在代码中
(:require [liberator.core :refer [defresource resource]]
[ring.middleware.params :refer [wrap-params]]
[compojure.core :refer [defroutes ANY]]))
(defresource ok
:available-media-types ["text/html"]
:handle-ok "This is iia")
(defroutes app
(ANY "/test" [] ok))
(def handler
(-> app
wrap-params))
使用defresource ok
时,始终显示“无法解决”消息
答案 0 :(得分:0)
如果您使用的是草书,则应该能够告诉IntelliJ将defresource
视为def
。
请参阅Cursive的宏docs。
答案 1 :(得分:0)
我猜您正在使用IntelliJ+Cursive
:
defresource
上。Alt+Enter
(或弹出菜单中的Show Context Actions
)。Resolve liberator.core/defresource as...
。defn
。此后,IntelliJ应该将代码中的所有defresource
都视为defn
,并且相关警告也应消失。