{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "JSON schema for puer-mock _mockserver.json config",
    "type": "object",
    "properties": {
        "api": {
            "type": "object",
            "title": "\u63a5\u53e3\u5217\u8868",
            "description": "\u63a5\u53e3\u5217\u8868",
            "patternProperties": {
                "^(GET|POST|PUT|DELETE|PATCH|OPTIONS)\\s+/\\S+$": {
                    "type": "object",
                    "title": "\u5b9a\u4e49\u4e00\u4e2a\u63a5\u53e3, \u5305\u542b HTTP \u52a8\u8bcd + \u7a7a\u683c + \u8def\u7531, \u4f8b\u5982: GET /api/user",
                    "description": "\u5b9a\u4e49\u4e00\u4e2a\u63a5\u53e3, \u5305\u542b HTTP \u52a8\u8bcd + \u7a7a\u683c + \u8def\u7531, \u4f8b\u5982: GET /api/user",
                    "default": "GET /api/user",
                    "properties": {
                        "request": {
                            "type": "object",
                            "title": "\u63a5\u53e3\u7684\u8f93\u5165\u53c2\u6570",
                            "description": "\u63a5\u53e3\u7684\u8f93\u5165\u53c2\u6570",
                            "properties": {
                                "querystring": {
                                    "type": "object",
                                    "title": "\u5b9a\u4e49\u653e\u7f6e\u5728 URL querystring \u4e2d\u7684\u53c2\u6570",
                                    "description": "\u5b9a\u4e49\u653e\u7f6e\u5728 URL querystring \u4e2d\u7684\u53c2\u6570"
                                },
                                "header": {
                                    "type": "object",
                                    "title": "\u5b9a\u4e49 HTTP header",
                                    "description": "\u5b9a\u4e49 HTTP header"
                                },
                                "body": {
                                    "type": "object",
                                    "title": "\u5b9a\u4e49\u653e\u7f6e\u5728 HTTP body \u4e2d\u7684\u53c2\u6570",
                                    "description": "\u5b9a\u4e49\u653e\u7f6e\u5728 HTTP body \u4e2d\u7684\u53c2\u6570"
                                }
                            }
                        },
                        "response": {
                            "title": "\u63a5\u53e3\u7684\u8f93\u51fa\u6570\u636e, \u53ef\u4ee5\u662f\u4efb\u610f\u7684 JSON \u6570\u636e\u7c7b\u578b(number/boolean/string/object/array/null), \u4f46\u63a8\u8350\u8fd4\u56de\u56fa\u5b9a\u7ed3\u6784\u7684 object \u7c7b\u578b\u7684\u6570\u636e",
                            "description": "\u63a5\u53e3\u7684\u8f93\u51fa\u6570\u636e, \u53ef\u4ee5\u662f\u4efb\u610f\u7684 JSON \u6570\u636e\u7c7b\u578b(number/boolean/string/object/array/null), \u4f46\u63a8\u8350\u8fd4\u56de\u56fa\u5b9a\u7ed3\u6784\u7684 object \u7c7b\u578b\u7684\u6570\u636e"
                        },
                        "disabled": {
                            "type": "boolean",
                            "title": "\u662f\u5426\u7981\u7528\u8be5\u63a5\u53e3",
                            "description": "\u662f\u5426\u7981\u7528\u8be5\u63a5\u53e3"
                        },
                        "proxy": {
                            "type": [
                                "string",
                                "object"
                            ],
                            "title": "\u662f\u5426\u4ee3\u7406\u63a5\u53e3",
                            "description": "\u76f4\u63a5\u4ee3\u7406\u8fdc\u7a0b\u7684\u63a5\u53e3, \u65b9\u4fbf\u5728\u5f00\u53d1\u7684\u8fc7\u7a0b\u4e2d\u5207\u6362\u5230\u540e\u7aef\u7684\u771f\u5b9e\u63a5\u53e3"
                        },
                        "info": {
                            "type": "object",
                            "title": "\u63a5\u53e3\u7684\u4ecb\u7ecd\u4fe1\u606f",
                            "description": "\u63a5\u53e3\u7684\u4ecb\u7ecd\u4fe1\u606f",
                            "properties": {
                                "summary": {
                                    "type": "string",
                                    "title": "\u63a5\u53e3\u4ecb\u7ecd",
                                    "description": "\u63a5\u53e3\u4ecb\u7ecd",
                                    "default": "\u63a5\u53e3\u4ecb\u7ecd"
                                },
                                "module": {
                                    "type": "string",
                                    "title": "\u63a5\u53e3\u5206\u7ec4",
                                    "description": "\u63a5\u53e3\u5206\u7ec4",
                                    "default": "\u63a5\u53e3\u5206\u7ec4"
                                },
                                "description": {
                                    "type": "string",
                                    "title": "\u63a5\u53e3\u8be6\u60c5",
                                    "description": "\u63a5\u53e3\u8be6\u60c5",
                                    "default": "\u63a5\u53e3\u8be6\u60c5"
                                },
                                "author": {
                                    "type": "string",
                                    "title": "\u63a5\u53e3\u4f5c\u8005",
                                    "description": "\u63a5\u53e3\u4f5c\u8005",
                                    "default": "\u63a5\u53e3\u4f5c\u8005"
                                }
                            }
                        }
                    },
                    "required": [
                        "response"
                    ]
                }
            },
            "additionalProperties": false
        },
        "info": {
            "type": "object",
            "title": "\u9879\u76ee\u7684\u4ecb\u7ecd\u4fe1\u606f",
            "description": "\u9879\u76ee\u7684\u4ecb\u7ecd\u4fe1\u606f",
            "properties": {
                "summary": {
                    "type": "string",
                    "title": "\u9879\u76ee\u4ecb\u7ecd",
                    "description": "\u9879\u76ee\u4ecb\u7ecd",
                    "default": "xxx \u9879\u76ee\u63a5\u53e3\u6587\u6863"
                },
                "description": {
                    "type": "string",
                    "title": "\u9879\u76ee\u8be6\u60c5",
                    "description": "\u9879\u76ee\u8be6\u60c5",
                    "default": "\u5982\u6b64\u9ad8\u5927\u4e0a\u7684\u63a5\u53e3\u6587\u6863 Powered by puer-mock"
                }
            }
        }
    },
    "required": [
        "api"
    ]
}