问题标签 [plumatic-schema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 棱柱模式:删除意外的键
我的 API 正在从客户端接收一些 JSON 数据。
我想使用 Schema 对收到的数据执行验证和强制,但还有一个额外要求:如果有任何未在模式中描述的映射键,请忽略并删除它而不是验证失败(这是因为我的客户可能会向我发送一些“垃圾”属性以及我关心的属性。我想对此保持宽容。)。
所以简而言之,我想select-keys
在验证/强制之前使用我的模式对我的输入数据执行“深度”。
我需要的示例:
我还没有找到一种可靠的方法来做到这一点:
- 我似乎无法在自定义转换中执行此操作,因为步行者似乎无法让您访问密钥。
- 我没有运气尝试手动遍历模式,因为很难以通用方式区分映射模式和标量模式;也很难解释模式可以具有的所有可能的形状。
有没有明显的方法我没有看到?
谢谢!
clojure - What is the difference between body and body-params in compojure-api?
In compojure-api I noticed this two ways of specifying the API of a resource:
and
What are the difference between these two? What are the implications of using one vs the other?
clojure - compojure-api/schema/swagger 中的非必需参数?
当我有这样的 API 定义时:
使名称可选的适当方法是什么?是吗:
clojure - :body-params 与 compojure-api 中的 :form-params
在使用 compojure-api 创建 API 时,在实践中使用 :body-params 和 :form-params 有什么区别?例如:
对比
哪一个应该用于将由单页 clojurescript 应用程序和/或本机移动应用程序使用的 API?
clojure - cannot validate values with string keys in map using clojure schema library
I tried validating a map using the prismatic/schema library for clojure. here is my shape
When I tried to validate it against a map, it throws the following exception
Am I do something wrong, or can't the schema library not validate against String keys ?
clojure - Clojure prismatic/schema defrecord 没有枚举运行时验证?
使用 prismatic/schema 时,defrecord 上的枚举验证不起作用,如下所示:
但是,当我将 enum 更改为 long 时,它按预期工作:
有人知道吗?太感谢了。
clojure - 棱柱模式强制 - 重命名映射键
我正在尝试使用棱柱模式(1.0.4)强制地图
我试图强迫
至
使用带有模式的自定义匹配器:
但是这段代码不起作用:
输出:
我尝试通过运行以下代码来调试它,该代码匹配架构中的所有内容并输出当前值和匹配的架构:
输出:
看起来匹配器一到地图就爆炸了?
clojure - 序列中的可选元素
我正在尝试使用 Prismatic/Schema 匹配以下序列:
和
我试过的:
主要问题是我不明白编写允许省略指定向量的第一个元素的模式的方法是什么。从上面匹配两个向量的正确方法是什么?
clojure - 如何获得“至少”模式?
“至少”是指将忽略所有disallowed-key
错误的架构。考虑以下代码段:
关于at-least
函数实现的第一个想法是将[s/Any s/Any]
入口与初始模式结合起来:
但不幸的是,这种实现不适用于嵌套地图:
是否有可能获得at-least
适用于嵌套地图的模式?或者也许prismatic/schema
提供了我缺少的开箱即用的东西?