ServiceComb中的“卖身协议”
Swagger是什么:
Swagger是一个用于描述和记录RESTful APIs的项目(参考文档:https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md)。
Swagger的表现形式
根据Swagger规范描述的RESTful API的文件被表示为JSON对象并符合JSON标准。 作为JSON超集的YAML也可以用来表示Swagger规范文件,如:
字段名称简介
指定使用的Swagger规格版本。 它可以被Swagger UI和其他客户端用来解释API列表。 该值必须是“2.0”
与consumer类似
安全方案定义
额外的 外部文件
注:标红字段必须填写
一些MIME类型的定义:
text/plain; charset=utf-8 application/json application/vnd.github+json application/vnd.github.v3+json application/vnd.github.v3.raw+json application/vnd.github.v3.text+json application/vnd.github.v3.html+json application/vnd.github.v3.full+json application/vnd.github.v3.diff application/vnd.github.v3.patch
Swagger中定义的参数类型
1.Path
2.Query
3.Header
4.Body
5.Form
If in is "body":
这里要注意,如果参数类型为"body",则不能按下图所示书写
正确的写法是将类型写在Schema Object下,如:
在实际开发中很容易出现此错误
Swagger提供的一些注解
swagger-core提供了一系列的注解来达到生成生成契约文档(Swagger documentation)的目的,这些注解分为三大类:
声明资源
声明一个方法
声明API模型。
下面列举了一些swagger-core提供的注解及其作用
在Swagger 2.0,class不再是一个resource,而是一个tag。@Api也被用来定义class中的所有方法,不再是用来声明resource。
TCP/IP API
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。