All Downloads are FREE. Search and download functionalities are using the official Maven repository.

e.json-schema-validator.1.99.4.source-code.smd-service.json Maven / Gradle / Ivy

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://json-schema.org/schemas/smd-service.json#",
    "description": "One service as described by the SMD spec",
    "type": "object",
    "properties": {
        "transport": {
            "description": "The transport used by this service",
            "enum": [ "POST", "GET", "REST", "JSONP", "TCP/IP" ],
            "default": "POST"
        },
        "envelope": {
            "description": "The envelope used by this service",
            "enum": [ "URL", "PATH", "JSON", "JSON-RPC-1.0", "JSON-RPC-1.1", "JSON-RPC-2.0" ],
            "default": "URL"
        },
        "contentType": {
            "description": "Any MIME type",
            "note": "defines a mediaType format",
            "type": "string",
            "format": "mediaType",
            "default": "application/json"
        },
        "jsonpCallbackParameter": {
            "FIXME": "didn't understand much except that it is a parameter",
            "$ref": "#/definitions/serviceParameter"
        },
        "target": {
            "description": "URL used for method call request, resolved within the SMD context",
            "type": "string",
            "format": "uri"
        },
        "additionalParameters": {
            "description": "additional parameters in addition to the defined ones; false means none allowed",
            "oneOf": [
                {
                    "type": "boolean"
                },
                {
                    "$ref": "http://json-schema.org/draft-04/schema#"
                }
            ]
        },
        "parameters": {
            "type": "array",
            "items": { "$ref": "#/definitions/serviceParameter" }
        },
        "returns": {
            "oneOf": [
                {
                    "$ref": "http://json-schema.org/draft-04/schema#"
                },
                {
                    "type": "object",
                    "required": [ "type", "services" ],
                    "properties": {
                        "type": { "$ref": "http://json-schema.org/draft-04/schema#" },
                        "services": { "$ref": "#" }
                    }
                }
            ]
        },
        "name": { "type": "string" }
    },
    "definitions": {
        "serviceParameter": {
            "description": "A JSON Schema with a required \"name\" member",
            "allOf": [
                { "$ref": "http://json-schema.org/draft-04/schema#" },
                {
                    "note": "spec specifies \"default\" which is equivalent to JSON Schema's, not reproduced here",
                    "properties": {
                        "name": { "type": "string" },
                        "optional": { "type": "boolean" }
                    },
                    "required": [ "name" ]
                }
            ]
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy