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