玩转API对象 - 玩转Kong网关 - 简书 - 图1

    2018.08.10 10:03:44字数 518阅读 3,522

    注意:API实体在0.13.0中被弃用。
    强烈建议将您的api迁移到路由和服务。

    API对象描述了一个由Kong公开的API。当使用者从代理端口调用它时,Kong需要知道如何检索API。每个API对象必须指定主机、uri和方法的一些组合。Kong将把所有对API的请求委托给指定的upstream URL。

    1、添加API

    请求地址:/apis/
    请求方法:POST
    请求主体:

    属性 描述
    name API的名称.
    hosts(半可选) 指向您的API的逗号分隔的域名列表。例如:example.com。至少应该指定主机、uri或方法中的一个。
    uris(半可选) 一个逗号分隔的uri前缀列表,指向您的API。例如: /my-path。至少应该指定主机、uri或方法中的一个。
    methods(半可选) 一个以逗号分隔的HTTP方法列表,指向您的API。例如: GET,POST。至少应该指定主机、uri或方法中的一个。
    upstream_url 指向您的API服务器的基本目标URL。这个URL将用于代理请求。例如: https://example.com.
    strip_uri(可选) 当通过一个URI前缀匹配一个API时,要从upstream URI中去掉匹配的前缀。默认值:真的。
    preserve_host(可选) 当通过一个主机域名匹配一个API时,请确保请求主机头被转发到upstream服务。默认false,upstream主机头将从配置的upstream_url中提取出来。
    retries(可选) 在代理失败的情况下执行的重试次数。默认值是5。
    upstream_connect_timeout(可选) 建立连接到upstream服务的连接的超时时间。默认为60000。
    upstream_send_timeout(可选) 在两个连续的写操作之间的时间间隔内,将请求发送到upstream服务的默认值为60000。
    upstream_read_timeout(可选) 在两个连续读取操作之间的毫秒间隔,将请求发送到upstream服务的默认值为60000。
    https_only(可选) 如果您希望仅通过HTTPS在适当的端口上提供API(默认情况下是8443),那么就可以启用该API。默认值:false。
    http_if_terminated(可选) 在执行HTTPS通信时,考虑一下X-Forwarded-Proto header. 默认: false

    注:通用但非标准的HTTP头(通常,非标准的头域都是用“X-”开头)

    X-Forwarded-Proto:记录一个请求一个请求最初从浏览器发出时候,是使用什么协议。因为有可能当一个请求最初和反向代理通信时,是使用https,但反向代理和服务器通信时改变成http协议,这个时候,X-Forwarded-Proto的值应该是https

    2、检索API

    请求地址:/apis/{name or id}
    请求方法:GET
    PATH参数:

    属性 描述
    name or id(必填) 要检索的API的唯一标识符或名称。

    3、API列表

    请求地址:/apis/
    请求方法:GET
    请求参数:

    属性 描述
    id(可选) 基于api id字段的过滤器。
    name(可选) 基于api name字段的过滤器。
    upstream_url(可选) 基于api upstream_url字段的过滤器。
    retries(可选) 基于api retries字段的过滤器。
    offset(可选) 用于分页的游标。偏移量是定义列表中的位置的对象标识符。
    size(可选,默认是100) 每个页面返回的对象数量的限制。

    4、更新API

    请求地址:/apis/{name or id}
    请求方法:GET
    PATH参数:

    属性 描述
    name or id(必填) 要更新的API的唯一标识符或名称。

    请求主体:与 1、添加API 请求主体相同

    5、更新或创建API

    请求地址:/apis/
    请求方法:PUT
    请求主体:与 1、添加API 请求主体相同

    PUT接口的行为如下:如果请求的payload(AJAX请求)不包含实体的主键(APIs的id),则该实体将使用给定payload创建。如果请求的payload确实包含一个实体的主键,有效负载将“替换”给定主键指定的实体。如果主键不是现有实体的,则不会返回404。

    6、删除API

    请求地址:/apis/{name or id}
    请求方法:DELETE
    PATH参数:

    属性 描述
    name or id(必填) 唯一的标识符或要删除的API的名称。

    穿梭机:开源API网关系统(Kong教程)入门到精通

    更多精彩内容,就在简书APP

    “小礼物走一走,来简书关注我”

    还没有人赞赏,支持一下

    玩转API对象 - 玩转Kong网关 - 简书 - 图2

    总资产86共写了9.1W字获得655个赞共573个粉丝