你可以使用亚马逊API网关控制台来创建和测试一个简单的REST API与HTTP集成的PetStore网站。该API定义被预设为OpenAPI 2.0文件。将API定义加载到API Gateway后,你可以使用API Gateway控制台来检查API的基本结构,或者简单地部署和测试API。
PetStore示例API支持以下方式让客户访问HTTP后端网站http://petstore-demo-endpoint.execute-api.com/petstore/pets
GET /:用于读取API的根资源,不与任何后端终端集成。API网关响应的是PetStore网站的概述。这是一个MOCK集成类型的例子。
GET /pets:用于读取API的/pets资源,该资源与同名的后端/pets资源集成。后台返回宠物商店中的可用宠物页面。这是一个HTTP集成类型的例子。集成端点的URL是http://petstore-demo-endpoint.execute-api.com/petstore/pets。
POST /pets:用于写访问API的/pets资源,该资源与后端/petstore/pets资源整合。在收到正确的请求后,后端将指定的宠物添加到PetStore中,并将结果返回给调用者。这种整合也是HTTP的。
GET /pets/{petId}:用于读取由petId值识别的宠物,该值被指定为传入请求URL的路径变量。这个方法也有HTTP的集成类型。后端返回在PetStore中发现的指定宠物。后台HTTP端点的URL是http://petstore-demo-endpoint.execute-api.com/petstore/pets/n,其中n是一个整数,作为被查询宠物的标识符。
该API通过MOCK集成类型的OPTIONS方法支持CORS访问。API Gateway会返回支持CORS访问的所需标头。
下面的程序将引导你完成创建和测试API的步骤,这些步骤来自使用API Gateway控制台的一个例子。
导入、构建和测试示例API
1.如果你还没有这样做,请完成API Gateway入门的先决条件中的步骤。
2.登录API Gateway控制台:https://console.aws.amazon.com/apigateway。
3.如果这是你第一次使用API Gateway,你会看到一个页面,向你介绍服务的功能。在REST API下,选择Build。当出现创建API实例的弹出窗口时,选择OK。
如果这不是你第一次使用API Gateway,选择创建API。在REST API下,选择建立。
4.在Create new API下,选择Example API,然后选择Import来创建范例API。对于你的第一个API,API Gateway控制台默认以这个选项开始。
在选择导入之前,你可以向下滚动OpenAPI定义,了解这个例子的API的细节。
5.新创建的API显示如下:
资源窗格将创建的API的结构显示为一棵结点树。每个资源上定义的API方法是树的边缘。当一个资源被选中时,它的所有方法都列在右边的方法窗格中。在每个方法下显示的是该方法的简短摘要,包括其端点URL、授权类型和API密钥要求。
6.要查看一个方法的细节,修改它的设置,或测试方法的调用,请从方法列表或资源树中选择方法名称。这里,我们选择POST /pets方法作为说明。
由此产生的方法执行窗格展示了所选(POST /pets)方法的结构和行为的逻辑视图。方法请求和方法响应是API与API的前端(客户端)的接口,而集成请求和集成响应是API与后端(http://petstore-demo-endpoint.execute-api.com/petstore/pets)的接口。客户端通过Method Request使用API来访问后端功能。API Gateway在将传入的请求转发给后端之前,如果有必要,会将客户端的请求翻译成后端在集成请求中可以接受的形式。转换后的请求被称为集成请求。同样地,后端在集成响应中向API Gateway返回响应。然后,API Gateway在将其发送给客户之前,将其路由到Method Response。同样,如果有必要,API Gateway可以将后端响应数据映射到客户端所期望的形式。
对于API资源上的POST方法,如果方法请求的有效载荷与集成请求的有效载荷格式相同,那么方法请求的有效载荷可以不加修改地传递到集成请求中。
GET/方法请求使用MOCK集成类型,不与任何真正的后端端点相联系。相应的集成响应被设置为返回一个静态HTML页面。当方法被调用时,API网关只是接受请求,并立即通过方法响应的方式将配置的集成响应返回给客户端。你可以使用模拟集成来测试一个API,而不需要一个后端端点。你也可以用它来提供一个本地响应,由响应主体映射模板生成。
作为一个API开发者,你通过配置方法请求和方法响应来控制你的API的前端交互行为。你通过设置集成请求和集成响应来控制你的API后端交互的行为。这些涉及到方法和其相应的集成之间的数据映射。我们在教程中介绍了方法的设置。用HTTP非代理集成构建REST API。现在,我们专注于测试API以提供端到端的用户体验。
7.选择Test shown on Client(如上图所示)开始测试。例如,要测试POST /pets方法,输入以下内容{“type”: “狗”, “价格”: 249.99}在选择 "测试 “按钮之前,将有效载荷输入请求正文。
输入指定了我们想添加到PetStore网站上的宠物列表的宠物属性。
8.结果显示如下:
输出的Logs条目显示了从方法请求到集成请求,以及从集成响应到方法响应的状态变化。这对于排除导致请求失败的任何映射错误很有用。在这个例子中,没有应用映射:方法请求的有效载荷通过集成请求传递给后台,同样,后台响应也通过集成响应传递给方法响应。
要使用API Gateway test-invoke-request功能以外的客户端测试API,你必须首先将API部署到一个阶段。
9.要部署样本API,选择PetStore API,然后从行动菜单中选择部署API。
在Deploy API中,对于部署阶段,选择[新阶段],因为这是API的第一次部署。在阶段名称中键入一个名称(例如,测试),并可选择在阶段描述和部署描述中键入描述。选择部署。
在产生的阶段编辑器窗格中,Invoke URL显示调用API的GET/方法请求的URL。
10.在Stage Editor上,按照Invoke URL链接,在浏览器中提交GET/方法请求。一个成功的响应会返回结果,由集成响应中的映射模板生成。
以上就是aws api gateway 通过导入一个例子来创建一个REST API
的一些问题了。