RAML 0.8中同一资源能否包含多个请求与响应示例?
嗨!好消息,RAML 0.8完全支持为单个资源添加多个请求和响应示例~下面我给你具体说说怎么实现:
多请求示例的写法
在资源的请求body模块中,针对对应媒体类型(比如application/json),你可以用自定义名称作为键,来定义多个不同的请求示例,以此覆盖不同的提交场景。
多响应示例的写法
同理,在每个响应状态码(比如201、400)的body模块下,也能为对应媒体类型定义多个响应示例,涵盖成功、不同错误类型等场景。
给你一个完整的RAML代码示例参考:
#%RAML 0.8 title: 用户管理API baseUri: https://api.example.com/v1 /users: post: description: 创建新用户 body: application/json: # 基础用户信息示例 basicUserExample: | { "name": "Alice", "email": "alice@example.com" } # 带联系方式的用户信息示例 userWithPhoneExample: | { "name": "Bob", "email": "bob@example.com", "phone": "+1234567890" } responses: 201: description: 用户创建成功 body: application/json: # 激活状态的用户响应 activeUserResponse: | { "id": 1001, "name": "Alice", "email": "alice@example.com", "status": "active" } # 待审核状态的用户响应 pendingUserResponse: | { "id": 1002, "name": "Bob", "email": "bob@example.com", "phone": "+1234567890", "status": "pending" } 400: description: 请求参数错误 body: application/json: # 缺少必填字段错误 missingFieldError: | { "errorCode": "INVALID_REQUEST", "message": "缺少必填字段:email" } # 格式错误示例 invalidFormatError: | { "errorCode": "INVALID_FORMAT", "message": "邮箱格式不符合要求" }
简单来说,只要在媒体类型的节点下,用不同的自定义名称来承载不同的示例内容即可,大部分支持RAML 0.8的API工具(比如RAML Console、MuleSoft相关工具)都能识别并展示这些多示例。
内容的提问来源于stack exchange,提问作者Rakesh
相关产品推荐
相关产品推荐

