ring-json的wrap-json-response中间件和compojure返回text / plain?

问题描述 投票:10回答:2

我正在尝试在我的compojure应用程序中使用ring-json的wrap-json-response中间件。我有一个简单的GET处理程序,它返回一个映射,比如{:foo 1},当我点​​击URL时,ring响应text/plain和一个空响应体。我似乎无法用JSON版本的地图来回应它。

这是我的处理程序代码:

(ns localshop.handler
  (:use compojure.core)
  (:require [localshop.routes.api.items :as routes-api-items]
            [ring.middleware.json :as middleware]
            [compojure.handler :as handler]
            [compojure.route :as route]))

;; map the route handlers
(defroutes app-routes
  (context "/api/item" [] routes-api-items/routes))

;; define the ring application
(def app
  (-> (handler/api app-routes)
      (middleware/wrap-json-body)
      (middleware/wrap-json-params)
      (middleware/wrap-json-response)))

路由处理函数字面上只返回一个映射,所以代码很简单,我想我可以省略。如果从compojure路由处理程序返回一个映射是问题,那么也许就是这样呢?

clojure compojure ring
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.