我已经通过kong ..(虚拟API)创建了一个新的API配置,如下所示。
curl -i -X POST \
- 网址http://localhost:8001/apis/ \ --data'name = myRESTapi'\ --data'hosts = myrestapi.com' --data'streamstream_url = http://demo1592110.mockable.io/hello'
HTTP / 1.1 201已创建 日期:2017年12月8日星期五09:25:35 GMT Content-Type:application / json;字符集= utf-8的 转移编码:分块 连接:保持活力 Access-Control-Allow-Origin:* 服务器:kong / 0.11.2
{ “created_at”:1512725135862 “strip_uri”:真, “ID”: “d066b086-6d64-45b7-9908-f6411c456ce4”, “主机”:[ “myrestapi.com”], “名称”:“myRESTapi ”, “http_if_terminated”:假的, “preserve_host”:假的, “upstream_url”: “http://demo1592110.mockable.io/hello”, “upstream_connect_timeout”:60000, “upstream_send_timeout”:60000, “upstream_read_timeout”:60000, “重试”:5, “https_only”:假} [ec2-user @ ip-172-31-10-102~] $
我通过linux实例中的curl命令调用该API,如下所示
curl -i -X GET \
- 网址http://localhost:8000/ \ --header'主持人:myrestapi.com'
HTTP / 1.1 200好的 Content-Type:application / json;字符集= UTF-8 内容长度:49 连接:保持活力 access-control-allow-origin:* X-Cloud-Trace-Context:7806a9e612e31e610f9278b98371a60e 日期:星期五,2017年12月8日09:26:55 GMT 服务器:谷歌前端 X-Kong-Upstream-Latency:227 X-Kong-Proxy-Latency:46 途经:kong / 0.11.2
{ “msg”:“shruthi mock API” }
我想知道如何通过网络浏览器调用此API,该浏览器应该通过另一台机器中的kong。
我可以直接通过浏览器中的上游网址执行:http://demo1592110.mockable.io/hello
但我想点击kong并且想要调用我的api,但不是使用curl命令,而是直接想通过web浏览器实现这一点。
我是kong的新手,不确定这是否有效。任何帮助表示赞赏。
答案 0 :(得分:1)
使用“hosts”方法,您需要在标头值中传递主机,您无法直接从浏览器复制。对于hosts方法,您需要使用任何rest客户端来传递标头值或以编程方式实现它。
但是正如你所提到的,你需要直接使用浏览器来尝试它,那么我建议你在将api添加到kong时使用“uris”。
options
您可以看到添加了'uris',并删除了来自upstream_url的URI。之后不需要主持人。
现在,如果你在浏览器中点击了网址
curl -i -X POST \
--url http://localhost:8001/apis/ \
--data "name=myRESTapi" \
--data "uris=/hello" \
--data "upstream_url=http://demo1592110.mockable.io"
你可以达到同样的目的。