zoukankan      html  css  js  c++  java
  • Swagger文档化restful接口

    1、注解

    @Api:用在类上,说明该类的作用。

    @ApiOperation:注解来给API增加方法说明。

    @ApiImplicitParams : 用在方法上包含一组参数说明。

    @ApiImplicitParam:用来注解来给方法入参增加说明。

    @ApiResponses:用于表示一组响应

    @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

        l   code:数字,例如400

        l   message:信息,例如"请求参数没填好"

        l   response:抛出异常的类   

    @ApiModel:描述一个Model的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)

        l   @ApiModelProperty:描述一个model的属性

    2、访问后台

    http://localhost:8080/swagger-ui.html

    3、Restful接口设计规范

    接口尽量使用名词,禁止使用动词:

    GET         /zoos:列出所有动物园
    POST        /zoos:新建一个动物园
    GET         /zoos/ID:获取某个指定动物园的信息
    PUT         /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
    PATCH       /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
    DELETE      /zoos/ID:删除某个动物园
    GET         /zoos/ID/animals:列出某个指定动物园的所有动物
    DELETE      /zoos/ID/animals/ID:删除某个指定动物园的指定动物

    版本:

    https://api.example.com/v1/

    过滤信息:

    ?limit=10:指定返回记录的数量
    ?offset=10:指定返回记录的开始位置。
    ?page_number=2&page_size=100:指定第几页,以及每页的记录数。
    ?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。
    ?animal_type_id=1:指定筛选条件
    参数的设计允许存在冗余,即允许API路径和URL参数偶尔有重复。比如,
    GET /zoo/ID/animals 与 GET /animals?zoo_id=ID 的含义是相同的。

    状态吗:

    1xx 信息,请求收到,继续处理。范围保留用于底层HTTP的东西,你很可能永远也用不到。
    2xx 成功,行为被成功地接受、理解和采纳
    3xx 重定向,为了完成请求,必须进一步执行的动作
    4xx 客户端错误,请求包含语法错误或者请求无法实现。范围保留用于响应客户端做出的错误,例如。他们提供不良数据或要求不存在的东西。这些请求应该是幂等的,而不是更改服务器的状态。
    5xx 范围的状态码是保留给服务器端错误用的。这些错误常常是从底层的函数抛出来的,甚至
    开发人员也通常没法处理,发送这类状态码的目的以确保客户端获得某种响应。
    当收到5xx响应时,客户端不可能知道服务器的状态,所以这类状态码是要尽可能的避免。

    200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
    201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
    202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
    204 NO CONTENT - [DELETE]:用户删除数据成功。
    400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
    401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
    403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
    404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
    406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
    410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
    422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
    500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
    502 网关错误 503 Service Unavailable 504 网关超时
  • 相关阅读:
    什么是 Hystrix?它如何实现容错?
    什么是 Spring Cloud Bus?我们需要它吗?
    SpringBoot和SpringCloud的区别?
    Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
    REST 和RPC对比?
    XML技术的作用?
    iHTML 的 form 提交之前如何验证数值文本框的内容全部为数字
    XML常用解析API有哪几种?
    XML的解析方式有哪几种?有什么区别?
    XML文档约束有哪几种?有什么区别?
  • 原文地址:https://www.cnblogs.com/ijavanese/p/9574298.html
Copyright © 2011-2022 走看看