Compojure ring-json 未返回 json
Compojure ring-json not returning json
我设置了这个小程序 -- 期望 /hello-world 端点为 return JSON,但 HTTP 主体为空...
知道为什么它 return 什么都没有吗?
(ns easycharge.core
(:use ring.util.response)
(:require [compojure.core :refer :all]
[compojure.route :as route]
[easycharge.routes.payments :as payments]
[easycharge.db.conn :as db]
[ring.middleware.defaults :refer :all]
[ring.middleware.json :as middleware]
[ring.middleware.cors :refer [wrap-cors]]
)
(:gen-class))
(defn std-redirect [] (redirect "https://www.hi.com/404/"))
(defroutes app-routes
(GET "/payments/:env/:id" [env id] {:hi "there"})
(GET "/hello-world" [] {:msg "hello-world"})
;; (payments/get-payment env id)
;; serves anything in resources/public
(route/resources "/")
(route/not-found (std-redirect)))
(def app (->
app-routes
(wrap-cors :access-control-allow-origin [#".*"]
:access-control-allow-methods [:get :put :post :delete])
(middleware/wrap-json-body {:keywords? true :bigdecimals? true})
(middleware/wrap-json-response)
(wrap-defaults site-defaults)))
问题是我没有将响应对象传递到 (response)
fn。
例如,hello-world 路由应该是:
(GET "/hello-world" [] (response {:msg "hello-world"}))
我设置了这个小程序 -- 期望 /hello-world 端点为 return JSON,但 HTTP 主体为空...
知道为什么它 return 什么都没有吗?
(ns easycharge.core
(:use ring.util.response)
(:require [compojure.core :refer :all]
[compojure.route :as route]
[easycharge.routes.payments :as payments]
[easycharge.db.conn :as db]
[ring.middleware.defaults :refer :all]
[ring.middleware.json :as middleware]
[ring.middleware.cors :refer [wrap-cors]]
)
(:gen-class))
(defn std-redirect [] (redirect "https://www.hi.com/404/"))
(defroutes app-routes
(GET "/payments/:env/:id" [env id] {:hi "there"})
(GET "/hello-world" [] {:msg "hello-world"})
;; (payments/get-payment env id)
;; serves anything in resources/public
(route/resources "/")
(route/not-found (std-redirect)))
(def app (->
app-routes
(wrap-cors :access-control-allow-origin [#".*"]
:access-control-allow-methods [:get :put :post :delete])
(middleware/wrap-json-body {:keywords? true :bigdecimals? true})
(middleware/wrap-json-response)
(wrap-defaults site-defaults)))
问题是我没有将响应对象传递到 (response)
fn。
例如,hello-world 路由应该是:
(GET "/hello-world" [] (response {:msg "hello-world"}))