0

我正在尝试使用 liberator 宏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消息“确定无法解决”时不断显示

4

2 回答 2

0

我猜你正在使用IntelliJ+Cursive

  1. 将光标放在defresource.
  2. Alt+Enter在键盘上(或Show Context Actions从弹出菜单)。
  3. 您应该会看到包含两个项目的弹出菜单,单击Resolve liberator.core/defresource as...
  4. 您应该会看到一些建议,请单击defn

之后,IntelliJ 应该将defresource代码中的所有内容都视为defn并且相关的警告应该消失。

于 2019-11-28T09:03:38.090 回答
0

如果您使用的是 Cursive,您应该能够告诉 IntelliJ 将defresource其视为def.

请参阅 Cursive 的宏文档

于 2019-05-25T18:05:07.047 回答