小编yar*_*fed的帖子

如何验证数组包含对象并放心?

例如,我有JSON作为响应:

[{"id":1,"name":"text"},{"id":2,"name":"text"}]}
Run Code Online (Sandbox Code Playgroud)

我想验证响应是否包含自定义对象。例如:

Person(id=1, name=text)
Run Code Online (Sandbox Code Playgroud)

我找到了解决方案:

Person[] persons = response.as(Person[].class);
assertThat(person, IsArrayContaining.hasItemInArray(expectedPerson));
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

response.then().assertThat().body(IsArrayContaining.hasItemInArray(object));
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?
在此先感谢您的帮助!

java arrays hamcrest rest-assured

8
推荐指数
2
解决办法
3354
查看次数

使用Jackson从POJO数组生成JSON模式

我想使用Jackson 2.7.0从POJO数组生成JSON模式:

JsonSchema schema = mapper.generateJsonSchema(MyClass[].class);
Run Code Online (Sandbox Code Playgroud)

所以我希望得到JSON模式:

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "text": {
        "type": "string"
      }
  ...
Run Code Online (Sandbox Code Playgroud)

但是得到:

{
      "type": "array"
}
Run Code Online (Sandbox Code Playgroud)

如何获得预期的架构?
是否存在任何更好的库可以从POJO生成模式?
在此先感谢您的帮助!

java arrays json jsonschema jackson

1
推荐指数
1
解决办法
1964
查看次数

标签 统计

arrays ×2

java ×2

hamcrest ×1

jackson ×1

json ×1

jsonschema ×1

rest-assured ×1