Swagger 主体惯例
Swagger是Web API描述文档的规范。通常采用JSON或者YAML格式,此处我们统一采用JSON格式。
Load 或者 Index
- Load 是根据ID获取某个资源的详情。
- Index 是根据某种条件,获取资源的列表。
响应体
响应体按照以下固定的写法,只需要将 Action 和 Resource 根据实际情况进行替换即可。 响应体的定义继承了 ResponseBodyCommonProperties ,同时将 collection 定义成数组,并将元素的类型指向 {Action}{Resource}ResponseItem。
- Action 的取值只能是Load或者Index。
- Resource 只能是资源的英文单词的单数形式。
"{Action}{Resource}ResponseBody": { "description": "{Action}{Resource}的响应体", "allOf": [ { "$ref": "#/definitions/ResponseBodyCommonProperties" }, { "type": "object", "properties": { "collection": { "type": "array", "items": { "$ref": "#/definitions/{Action}{Resource}ResponseItem" } } } } ] }
响应项
响应项定义单个资源的数据结构。其中 links 属性是要求的标准属性,其名称、类型都必须如下定义。 对于一些常用的领域类型,如移动电话号码,可以定义成常用的类型,在此直接引用。
"{Action}{Resource}ResponseItem": {
"type": "object",
"properties": {
"{Field_1}": { "type": "string" },
"{Field_2}": { "type": "string" },
"mobile_phone_number": { "$ref": "#/definitions/MobilePhoneNumber" },
"links": { "$ref": "#/definitions/LinkList" }
}
}
Create、Update 或者 Destroy
- Create 是创建某个资源。
- Update 是根据ID更新某个资源。
- Destroy 是根据ID,销毁某个资源。
请求体
HTTP GET方法请求没有请求体,只有POST、PUT、PATCH、DELETE等方法才有请求体。
"{Action}{Resource}RequestBody": {
"description": "{Action}{Resource}的请求体",
"type": "object",
"properties": {
"{Field_1}": { "type": "string" },
"{Field_2}": { "type": "string" }
}
}
响应体
与前文响应体一致。
响应项
与前文响应项一致。