Serverless-devs怎么设置mock 类型的api 呢?mock 类型的的返回,Api gateway。
知识盲点
可以在控制台的API网关中,选择“自定义响应”,然后设置响应状态码和响应体,即可实现mock类型的api。
无服务器Serverless是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。
MockServer其实就是一个用来模拟http(https)请求响应结果数据的服务器。通过这个MockServer服务,我们可以极大地方便接口的调试。mock server通常具有以下特点:
快速搭建、无需写代码 能模拟任何数据 低成本 简单配置
以前通常情况下,后台会把请求接口Api的结果先定义好,写死在action层,然后返回给前端,但是这种方案现在已经不怎么用了,效率太低 现在比较流行的方案,一般会搭建一些server来进行mock,这样可以使得被开发功能的调试和测试功能能够正常进行下去。而MockServer就可以有效的解决这个问题,这也是MockServer的出现的原因。
使用了Mock Server之后,前端可以不再依赖与后台的业务接口,在后台接口未开发完成时,可以模拟一些业务数据,来进行前台页面的调试,极大的节省了调试的成本。
对于任何的http或者https请求,可以结合具体的业务场景,配置mock,来模拟接口Api,返回一个具体的响应结果
代理一个记录,并且可以选择修改请求路径和响应的结果
同时代理某些请求和模拟其他请求(both a proxy for some requests and a mock for other requests at the same time)。
可以在控制台的API网关中,选择“自定义响应”,然后设置响应状态码和响应体,即可实现mock类型的api。
Serverless-devs可以通过在yml文件中使用mock
字段来设置mock类型的api。 例如,以下是一个简单的yml文件,其中包含一个名为hello
的api,它将返回一个JSON对象,其中包含一个message
属性和一个name
属性。该api的类型为mock。
ROSTemplateFormatVersion: '2021-09-01'
Transform: 'Aliyun::Serverless-2023-03-03'
Resources:
hello:
Type: 'Aliyun::Serverless::Api'
Properties:
Path: '/hello'
Method: 'GET'
Mock:
ContentType: 'application/json'
Content:
message: 'Hello, world!'
name: 'Serverless-devs'
我们将Content
字段设置为一个包含message
和name
属性的JSON对象。当我们访问这个api时,它将返回这个JSON对象。 要使用Serverless-devs运行这个api,可以使用以下命令:
s deploy
这将把yml文件部署到阿里云函数计算中,并创建一个名为hello
的api。要测试这个api,可以使用以下命令:
s invoke -p '{"key1":"value1", "key2":"value2"}' -t mock
这将模拟一个对/hello
路径的GET请求,并返回一个JSON对象,其中包含message
和name
属性,就可以实现了
可以在控制台的API网关中,选择“自定义响应”,然后设置响应状态码和响应体,即可实现mock类型的api。
这个应该是API Gateway的能力,需要API Gateway的组件支持 https://github.com/devsapp/api-gateway, 不过这个组件暂时只支持和函数计算FC的联动,需要Mock的能力欢迎PR共建哈此答案来自钉钉群“Serverless 开发者技术学习群"
这个应该是API Gateway的能力,需要API Gateway的组件支持 https://github.com/devsapp/api-gateway, 不过这个组件暂时只支持和函数计算FC的联动,需要Mock的能力欢迎PR共建哈
此答案来自钉钉群“Serverless 开发者技术学习群"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。