当前位置: 首页 > 知识库问答 >
问题:

架构验证:特定值列表中的字符串

方绪
2023-03-14

我有一个endpoint,其响应如下:

{
     "id": 1,
     "status": "ACTIVE"
   }

状态的可能值如下:活动、非活动、已删除。要检查架构,我尝试了以下操作:

* def statusValues = ["ACTIVE", "INACTIVE", "DELETED" ]
* def schema = 
"""
{
  "id" : #number,
  "status" : '#(^*statusValues)'
}
"""

为了验证,我使用以下句子:然后匹配response==schema

但它不起作用。这就是错误所在

实际值:“活动”,应为:[“已删除”、“活动”、“非活动”],原因:实际值与列表中的值不同

你能帮帮我吗?

共有1个答案

尹乐邦
2023-03-14

这可能是最简单的选择:

* def isValidStatus = function(x){ return statusValues.contains(x) }
* def schema = { id: '#number', status: '#? isValidStatus(_)' }
 类似资料:
  • 背景故事: 我需要根据我制作的字母表来排列单词。 我之前做了大量的循环,但我从之前问题的答案中得到了一个想法,可以像这样映射它: 所以词会变,苹果会变成苹果--- 这似乎覆盖了所有字符,因此输出为: 我的大脑今天很模糊,我想我可以一直坚持到最后,直到找到某种解决方案,但这似乎不是一种有效的方法。有什么想法吗? 此时,我从列表中提取一个单词,将其放入一个字符数组中,这样我就可以分别更改每个字符,然后

  • 我有一个电子邮件地址字段,其中有一个客户端验证,不允许几个临时域,如tempmailder.com或dispostable.com. 在服务器端,我使用了fluent验证来指定验证规则。 web中不允许的临时域。将文件配置为逗号分隔的字符串。 我是否可以指定一种方法来验证用户根据不允许的电子邮件域列表输入的值。 谢啦

  • 我想知道我是否可以定义一个JSON模式(草案4),它要求许多属性中至少有一个具有特定的值。 为了说明这一点,下面是一个我希望验证失败的JSON示例: 但是,如果上面的任何(一个或多个)属性设置为,只有这样我才会期望它通过验证。 那么模式是什么呢? 非常感谢提前!

  • 假设有一个类: ...您有一个实例列表,即

  • 问题内容: 有没有一种方法可以使用javax.validation来验证类型为color的字符串类型的变量,该变量只需要使用注释就具​​有这些值(红色,蓝色,绿色,粉红色)? 我见过 ,但是有这样的事情吗 或多或少类似于在使用 问题答案: 在那种情况下,我认为使用@Pattern注释会更简单,如下面的代码片段所示。如果需要不区分大小写的评估,只需添加适当的标志:

  • 我将MVC3视图模型定义为: 使用FluentValidation(v3.3.1.0)将验证定义为: 账户验证可能被定义为: 我希望列表中的每个帐户按照留档中的描述进行验证。但是,调用不起作用,因为在使用