Json 使用环和复合器服务数据

Json 使用环和复合器服务数据,json,clojure,compojure,ring,Json,Clojure,Compojure,Ring,我正在配置和设置一个web应用程序,以静态方式为JSON数据文件提供服务 我的依赖项: :dependencies [[org.clojure/clojure "1.5.1"] [org.clojure/clojurescript "0.0-2197"] [ring/ring-core "1.1.7"] [ring/ring-jetty-adapter "1.1.7"]

我正在配置和设置一个web应用程序,以静态方式为JSON数据文件提供服务

我的依赖项:

  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2197"]
                 [ring/ring-core "1.1.7"]
                 [ring/ring-jetty-adapter "1.1.7"]
                 [compojure "1.1.3"]
                 [hiccup "1.0.2"]
                 [lein-cljsbuild "0.2.10"]]
正如标题所说,我正在使用Ring作为开发插件,即

  :plugins [[lein-ring "0.8.3"]]
莱宁根项目正在进行中

   (ns test-app.core
   (:require [compojure.route :as route]
             [compojure.handler :as handler]
             [clojure.string :as str])
   (:use compojure.core
             ring.adapter.jetty
             [ring.middleware.content-type :only
             (wrap-content-type)]
             [ring.middleware.file :only (wrap-file)]
             [ring.middleware.file-info :only
             (wrap-file-info)]
             [ring.middleware.stacktrace :only
             (wrap-stacktrace)]
             [ring.util.response :only (redirect)]))
在project.clj中

  :ring {:handler test-app.core/app}
我不确定这是否会告诉Ring web应用程序在哪里 是

此外,我不知道如何静态地提供JSON数据文件。我已经读到“Ring服务于项目的/resources目录外的静态文件。在本例中,创建目录/resources/data并将从中下载的数据文件放入其中。”

这主要是关于创建/resources/data目录的最后一部分,我在实现中迷失了方向。有人能告诉我这部分是怎么做的吗

如果我能学会克服这一点,我希望建立路由和处理程序,即

  (defroutes site-routes
     (GET "/" [] (redirect "/data/census-race.json"))
     (route/resources "/")
     (route/not-found "Page not found"))

在project.clj中

  :ring {:handler test-app.core/app}
:ring{:handler test app.core/app}

我不确定这是否会告诉Ring web应用程序在哪里 是

运行
$lein ring server headless
时,它将在
test app.core
命名空间中查找
app
。在
core.clj
文件中应该有如下内容:

(def app
  (handler/site app-routes))
主要是关于创建/资源/数据的最后一部分 我在实现中丢失的目录。有人能给我看看吗 这部分是如何完成的

在项目目录的根目录中,应该有一个
resources
文件夹。在
resources
文件夹中创建一个
data
文件夹


我不确定您遇到了什么问题?

如果您的项目如下所示:

project.clj
src/test_app/core.clj
resources/public/data/census-race.json
然后,当您请求路径
/data/census race.JSON
时,您的
站点路由
处理程序将提供该JSON文件


您不需要任何额外的中间件,如
wrap file
wrap file info
wrap content type
,因为
compojure.route/resources
已经完成了您所需的一切。

我已经在
resources
中创建了文件夹
data
,但不确定如何下载到它@deadghost@sunspots右键单击->将页面另存为?我不知道如何将
census race.json
放入路径
resources/data
@JohnCromartie