gpt4 book ai didi

clojure - 尝试将ring.middleware.json-params与compojure一起使用

转载 作者:行者123 更新时间:2023-12-02 02:57:46 28 4
gpt4 key购买 nike

我是 Clojure、leiningen 和 java 工具链的新手(但对 lisp、函数式编程、一般软件不熟悉)。我正在尝试在 Compojure 中引导一些 RESTful Web 服务。

按照以下说明开始使用 compojure 没有遇到任何问题

https://github.com/weavejester/compojure/wiki/Getting-Started

我现在正在尝试逐步添加现已过时的网站的功能

http://mmcgrana.github.com/2010/08/clojure-rest-api.html

从上面第一个链接中的工作 leiningen 项目开始(它通过 leinring start 工作),我向 project.clj 添加一行

(defproject hello-world "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.4.0"]
[ring-json-params "0.1.3"] ;;; <---===/// Here's the line I added
[compojure "1.1.5"]]
:plugins [[lein-ring "0.8.2"]]
:ring {:handler hello-world.handler/app}
:profiles
{:dev {:dependencies [[ring-mock "0.1.3"]]}})

然后我重新运行 lein deps 并下载了一堆东西。一切都很好,该项目仍然有效。现在,我向 handler.clj 添加一行:

(ns hello-world.handler
(:use compojure.core)
(:use ring.middleware.json-params) ;;; <---===/// Here's the line I added
(:require [compojure.handler :as handler]
[compojure.route :as route]))

(defroutes app-routes
(GET "/" [] "Hello World")
(route/not-found "Not Found"))

(def app
(handler/site app-routes))

现在我明白了

java.io.FileNotFoundException: Could not locate ring/middleware/json_params__init.class or ring/middleware/json_params.clj on classpath: 
at clojure.lang.RT.load (RT.java:432)
clojure.lang.RT.load (RT.java:400)
clojure.core$load$fn__4890.invoke (core.clj:5415)
clojure.core$load.doInvoke (core.clj:5414)

由于我对工具链完全是菜鸟,所以我不知道如何设置或检查类路径,也不知道如何找出 leiningen 存放 json_params 的位置,甚至不知道如何查看 json_params 的内部。类文件来找出名称应该是什么。

除了这个问题的具体解决方案之外,我还希望能得到新手的指导,这样也许我将来可以自己解决这样的简单问题。

最佳答案

您启动服务器时是否遇到该错误?我的环境没有任何问题。 enter image description here

这是我所做的:

lein new compojure hello

然后按照您的方式更改project.clj并运行:

lein deps

最后添加:

(:use ring.middleware.json-params)

处理.clj

启动服务器,没有出现错误。

我建议您构建一个新项目并重试。

关于clojure - 尝试将ring.middleware.json-params与compojure一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318242/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com