- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不久前,Chris Granger 发布了 this middleware使 JSON 哈希值出现在“backbone”元素下的 defpage 参数中。
(defn backbone [handler]
(fn [req]
(let [neue (if (= "application/json" (get-in req [:headers "content-type"]))
(update-in req [:params] assoc :backbone (json/parse-string (slurp (:body req)) true))
req)]
(handler neue))))
如何修改此代码以使 JSON 元素在 defpage 中显示为顶级参数;即摆脱 :backbone 伞?
最佳答案
您可以做两件事。一种选择是将 :params
的值替换为解析 JSON 后返回的映射。为此,只需将新映射与 :params
键关联即可。
(assoc req [:params] (json/parse-string (slurp (:body req)) true))
另一个选项(如 @dAni 建议)是将解析的 JSON 的值合并到其中,以便 :params
映射中的现有值不会被覆盖。这里之所以需要使用 partial
而不是仅仅使用 merge
是因为最终的 map 是从左到右的 map 合并的结果。如果您希望 JSON 映射中的值优先,则您的解决方案有效。
(update-in req [:params]
(partial merge (json/parse-string (slurp (:body req)) true)))
关于clojure - 如何在 Noir 中获取 JSON post 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638939/
在我的 Clojure 应用程序中,我使用 Noir 作为 Web 框架。 我定义了一个帖子页面,它将一些数据保存到 mongodb 数据库中,然后我尝试呈现另一个页面: (defpage "/del
我正在尝试使用 noir 并遵循默认教程中提供的教程并使用此代码 (defpage "/my-page" [] (html5 [:h1 "This is my first page!"])
我正在尝试使用 clojure Web 框架 noir 分发一个小型 Web 应用程序构建。当使用 lein run 运行时,它会按预期工作。当我运行 lein uberjar ,然后运行 jav
我正在尝试使用 noir 并遵循默认教程中提供的教程并使用此代码 (defpage "/my-page" [] (html5 [:h1 "This is my first page!"])
我正在学习教程 Mark McGranaghan REST Tutorial但是我正在尝试使用 Noir 来代替。 我可以添加新项目,但它永远不会占用 PUT 命令的主体。 我认为问题在于我如何尝试构
我正在研究 lib-noir 库。当我查看wrap-strip-trailing-slash时函数,我发现了有趣的正则表达式模式。 (defn wrap-strip-trailing-slash
背景信息: 我使用 RPi B+ (Raspbian) 构建了一个智能门解决方案,它使用三个传感器(PIR、陀螺仪 [I2C] 和超声波)。根据 Python 脚本管理的传感器状态,我开始使用 ras
我正在使用 clojure 和 hiccup (带有 noir),并且我有以下代码: (defn dataframe [id] (db/db-to-data id)) (defpartial d
如何使用 Noir 进行用户身份验证和 ORM。 所有这些都必须通过java对象访问吗? 是否有关于用户身份验证和数据库访问的 Rails 风格“博客”教程? 最佳答案 看看https://githu
提供给 noir.server/start 的选项映射的 :ns 键是做什么用的?我看到如果您省略 :ns,则会使用随机生成的符号。通过查看 Noir 资源,我找不到任何使用此符号的地方。有谁知道这当
我有一个照片链接列表,想用 clojure 和 noir 生成 img 标签。 我在这里得到链接: (def photos (->> (get-in result ["photoset" "photo
我已经开始弄清楚如何使用 noir,现在我想使用 http 基本身份验证。 我偶然发现了 https://github.com/adeel/ring-http-basic-auth .不过,给出的例子
关注 http://www.webnoir.org/创建新项目的说明 - 我运行了 lein uberwar - 这会生成一个(可执行的)jar - 但是它无法找到 list 中提到的主类 - 找不到
如果计划创建一个无 UI 的 Web 服务(接收 JSON 和/或 XML,返回 JSON 和/或 XML),是否 Noir提供任何有用的东西 Compojure ? 最佳答案 我相信 Noir 使使
不久前,Chris Granger 发布了 this middleware使 JSON 哈希值出现在“backbone”元素下的 defpage 参数中。 (defn backbone [handle
警告:我来自 PHP 背景,具有一些生疏和过时的 Java/Tomcat 技能。 我一直在使用 Sandbar 和 Compojure 来保护我的 Web 应用程序,但我听说使用 Spring Sec
我正在使用黑色。 这是我的 project.clj (defproject noir "1.0.0-SNAPSHOT" :description "FIXME: write description
我已经使用 Ring Basic Authentication 为我的应用程序设置了 HTTP 基本身份验证.它工作正常,看起来像这样: (:require [noir.server :as serv
我正在使用 Clojure 的 Noir 框架帮助建立一个网站,尽管我在 Django/Python 方面有更多的经验。在 Django 中,我习惯了 这样的 URL http://site/some
我正在构建一个 Clojure Noir Web 应用程序以在 CloudFoundry 中作为 WAR 文件运行。 在我的 project.clj 中我有: :ring {:handler appn
我是一名优秀的程序员,十分优秀!