我需要使用openapi:3.0.0开发Mule API(4.4运行时)。endpoint是具有以下请求负载的POST:
{
"Employee": {
"Address": {
"City": "a",
"Country": "aaa"
}
}
}
这是OpenAPI 3.0规范的相关部分:
openapi: "3.0.0"
paths:
/search:
post:
tags:
- SearchUser
summary: Search for Users
operationId: getUser
requestBody:
description: User Request Object
content:
application/json:
schema:
$ref: '#/components/schemas/RequestComp'
required: true
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ResponseComp'
'400':
description: Bad request
content: {}
'404':
description: User not found
content: {}
'405':
description: Validation exception
content: {}
components:
schemas:
RequestComp:
type: object
properties:
Employee:
$ref: '#/components/schemas/EmployeeComp'
EmployeeComp:
type: object
properties:
Address:
$ref: '#/components/schemas/AddressComp'
AddressComp:
type: object
properties:
City:
type: string
required: true
nullable: false
minLength: 1
Country:
type: string
required: true
nullable: false
minLength: 1
ResponseComp:
type: object
properties:
City:
type: string
Country:
type: string
所以我可以验证单个元素,如“城市”和“国家”不为空,但我如何防止以下请求?(目前未标记为无效:)
{
"Address": {
"City": "a",
"Country": "aaa"
}
}
您可以将Employee包装定义为必需属性,还可以通过添加附加属性false来禁止未知属性。请注意,required
不是属性级属性,而是对象级属性-它是所需属性的列表。
components:
schemas:
RequestComp:
type: object
required: [Employee] # <-----
properties:
Employee:
$ref: '#/components/schemas/EmployeeComp'
additionalProperties: false # <-----
EmployeeComp:
type: object
properties:
Address:
$ref: '#/components/schemas/AddressComp'
additionalProperties: false # <-----
AddressComp:
type: object
required: [City, Country] # <-----
properties:
City:
type: string
# required: true # <-- remove this
nullable: false
minLength: 1
Country:
type: string
# required: true # <-- remove this
nullable: false
minLength: 1
additionalProperties: false # <-----
我正在创建一个自定义Jackson反序列化器类来将JSON负载映射到一个对象。在我的方法中,我对JSON负载进行了一些检查,以查看是否缺少任何字段或与POJO不一致。 我尝试在方法中抛出异常,方法如下所示: 但是,我不允许在方法中抛出我自己的异常,因为该方法实现了一个接口,我只能抛出和: 在这种情况下,当执行反序列化时,如何验证JSON有效负载?
问题内容: 我正在尝试使用Jackson JSON接受一个字符串,并确定它是否为有效JSON。谁能建议要使用的代码示例(Java)? 问题答案: 不知道您的用例是什么,但是应该这样做:
问题内容: 有没有办法在不使用PHP的情况下检查变量是否为有效的JSON字符串?我没有PHP 5.3.3。 问题答案:
我有一个巨大的JSON文件作为RESTAPI调用的有效负载发布,用于测试目的。我试过这样的方法: 并将错误获取为: 我可以通过读取文件和传递身体作为字符串运行,但我看到我可以直接传递文件对象,这不起作用。 经过充分的研究,它似乎不起作用。我已经放心地提出了这个问题。https://github.com/jayway/rest-assured/issues/674
我正在尝试验证Json Objects。我使用https://code.google.com/p/rest-assured/wiki/Downloads?tm=2, greeter-schema.json:http://cs606926.vk.me/v606926718/15603/0Kauo1bTDi8.jpg 即使JsonString不等于这个“{\”isSuccess\“:false}”,我