我有一个OpenAPI v3规范文件,其中包含以下内容(仅显示片段):
paths:
/global/name:
get:
description: Some description
tags:
- Global settings
operationId: getGlobalSettingsName
responses:
# Response code
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/globalSettingsName'
components:
schemas:
globalSettingsName:
type: object
properties:
name:
type: integer
description: 'ID'
example: 1
required:
- name
但服务器响应为:
{
"name": "somestring"
}
请注意,名称属性类型为integer
,并且在服务器响应中,它是string
(故意),但dredd
请求通过了(成功)。
dredd
是否不检查响应属性类型?
我将响应重新定义为string
(不是JSON):
responses:
# Response code
'200':
description: Successful response
content:
application/json:
schema:
type: string
和dredd
都没有抱怨。
我什至更改了架构的属性:
globalSettingsName:
type: object
properties:
www:
type: string
description: 'some description'
example: 'somestring'
required:
- www
如果预期失败,结果相同(成功)。
dredd
不支持这些验证吗?我使用的规范有误吗?