在我使用 swagger-php 的项目中,在生产服务器上我收到验证错误“对象缺少必需的属性 ([\"paths\"])”。尽管这个错误招摇 UI 工作正常。
我的 php 文件中的注释:
/**<br />
* @SWG\Swagger(<br />
* @SWG\Info(<br />
* title="Заголовок",<br />
* description="Описпание",<br />
* contact={<br />
* "name": "Дмитрий Сабиров",<br />
* "email": "test@yandex.ru"<br />
* },<br />
* license={<br />
* "name": "MIT",<br />
* "url": "https://opensource.org/licenses/MIT"<br />
* },<br />
* version="1.0.0"<br />
* ),<br />
* schemes={"http"},<br />
* host=API_HOST,<br />
* basePath="/api"<br />
* )<br />
*/<br />
和
/**<br />
* @SWG\Get(<br />
* description="Проверка существования пользователя с данным емайлом.",<br />
* path="/users/check-email",<br />
* produces={"application/json"},<br />
* @SWG\Parameter(<br />
* name="email",<br />
* in="query",<br />
* description="проверяемый емайл",<br />
* required=true,<br />
* type="string"<br />
* ),<br />
* @SWG\Response(<br />
* response=200,<br />
* description="Если пользователь не существует - создаётся и ысылается письмо.",<br />
* @SWG\Schema(<br />
* type="object",<br />
* @SWG\Items(<br />
* @SWG\Property(<br />
* property="emailExist",<br />
* type="boolean"<br />
* ),<br />
* @SWG\Property(<br />
* property="userCreated",<br />
* type="boolean"<br />
* ),<br />
* @SWG\Property(<br />
* property="sentActivationEmail",<br />
* type="boolean"<br />
* )<br />
* ),<br />
* example={<br />
* "application/json": {<br />
* "emailExist": true,<br />
* "userCreated": false,<br />
* "sentActivationEmail": false<br />
* }<br />
* }<br />
* )<br />
* ),<br />
* @SWG\Response(<br />
* response=500,<br />
* description="внутренняя ошибка сервера",<br />
* )<br />
* )<br />
*/<br />
招摇 api 响应是:
{
"swagger": "2.0",
"info": {
"title": "Заголовок",
"description": "Описпание",
"contact": {
"name": "Дмитрий Сабиров",
"email": "test@yandex.ru"
},
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
},
"version": "1.0.0"
},
"host": "46.36.218.161",
"basePath": "/api",
"schemes": ["http"],
"paths": {
"/users/check-email": {
"get": {
"description": "Проверка существования пользователя с данным емайлом.",
"produces": ["application/json"],
"parameters": [{
"name": "email",
"in": "query",
"description": "проверяемый емайл",
"required": true,
"type": "string"
}],
"responses": {
"200": {
"description": "Если пользователь не существует - создаётся и высылается письмо.",
"schema": {
"type": "object",
"items": {
"properties": {
"emailExist": {
"type": "boolean"
},
"userCreated": {
"type": "boolean"
},
"sentActivationEmail": {
"type": "boolean"
}
}
},
"example": {
"application/json": {
"emailExist": true,
"userCreated": false,
"sentActivationEmail": false
}
}
}
},
"500": {
"description": "внутренняя ошибка сервера"
}
}
}
}
},
"definitions": {}
}
但大摇大摆的 UI doc 返回错误:
{
"messages": ["attribute paths is missing"],
"schemaValidationMessages": [{
"level": "error",
"domain": "validation",
"keyword": "required",
"message": "object has missing required properties ([\"paths\"])",
"schema": {
"loadingURI": "#",
"pointer": ""
},
"instance": {
"pointer": ""
}
}]
}
如何修复此错误?