我是API网关的新手。我在EC2服务器上部署了基于python的API。我可以将其作为网址http://xxx.xxxxxxx.com/RPC2/来访问。我可以看到此URL中的对象,方法。我正在尝试使用API网关。
问题。 1.当我点击dev1网址(https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1)时,它不会给我与http://xxx.xxxxxxx.com/RPC2/相同的页面。它给了我{“message”:“Missing Authentication Token”}错误。我在这里错过了一些基本原理吗?
http://xxx.xxxxxxx.com/RPC2/有多种方法,我该如何使用它?所有这些都是POST方法。我可以设置一些参数或一些请求正文或一些模板吗?我该如何改进这个过程?
如何在此处使用API密钥?或者它在POST方法中不起作用?
如果我卷曲-H“Content-Type:application / JSON”-X POST -d“{\”method \“:\”app.menu \“,\”params \“:[] }“https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1我得到的反应与我卷曲http://xxx.xxxxxxx.com/RPC2/相同。它是访问我的dev1 URL的唯一方法,或者我可以创建单独的方法或字符串参数。
此致 Ashish
答案 0 :(得分:1)
查看发布到this forum的答案:
- 当我点击dev1网址(https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1)时,它没有给出 我和http://xxx.xxxxxxx.com/RPC2/的页面相同。它给了我 {"消息":"缺少身份验证令牌"}错误。我错过了一些 基本面在这里?
醇>如果您使用GET方法在浏览器中访问该URL,则不会 工作。您必须在资源上指定所有HTTP方法 您希望客户端访问。如果你遇到的方法不是 定义,你得到那条消息。
- http://xxx.xxxxxxx.com/RPC2/有多种方法,我该如何使用它?所有这些都是POST方法。我可以设置一些参数或 一些请求正文或一些模板。我该如何改进这个过程。
醇>如果您要映射到RPC API,那么您可以构建REST API网关中的方法/资源,并为标头设置静态值 或者在正文中,后端预期RPC操作的任何地方。
- 我如何在这里使用API密钥?或者它在POST方法中不起作用?因为从curl访问时,没有API密钥就可以正常工作。
醇>首先,您应该在方法上设置API Key Required(方法请求 页面),然后您必须将API Stage添加到API Key并制作 确定它已启用。毕竟,如果您在标头中发送API密钥 叫做' x-api-key'它应该工作,否则你应该得到403 回应说"禁止"。
- 如果我做"卷曲-H"内容类型:application / json" -X POST -d" {\" method \":\" app.menu \",\" params \":[] }" https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1"我也一样 响应我卷曲http://xxx.xxxxxxx.com/RPC2/。这是唯一的方法吗? 访问我的dev1 URL或我可以创建单个方法或字符串 parametrs。
醇>您必须在API网关(如GET)中创建每个方法 都可以指向相同的后端URL,但指定不同的RPC 标题中的操作或指定的位置。
我建议您查看参与者的公共开发人员指南 映射和有效负载转换,以了解我们在API中使用的工具 网关。