【发布时间】:2014-05-11 13:09:36
【问题描述】:
我正在配置和设置一个 Web 应用程序以静态提供 JSON 数据 http://www.ericrochester.com/clj-data-analysis/data/census-race.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"]]
Leiningen 项目是
(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 并将您从 http://www.ericrochester.com/clj-data-analysis/data/census-race.json 下载的数据文件放入其中。”
最后一部分主要是关于创建 /resources/data 目录,我在实现中迷失了方向。有人可以展示这部分是如何完成的吗?
如果我能学会克服这个问题,我正在寻找构建路线和处理程序,即
(defroutes site-routes
(GET "/" [] (redirect "/data/census-race.json"))
(route/resources "/")
(route/not-found "Page not found"))
和
(def app
(-> (handler/site site-routes)
(wrap-file "resources")
(wrap-file-info)
(wrap-content-type)))
【问题讨论】:
标签: json clojure compojure ring