求助:在Azure API Management中创建含Delete操作的Mocking API
Got it, let's walk through creating a mocked API with a Delete operation in Azure API Management step by step—super straightforward once you know the flow!
创建带Delete操作的Mocked API(Azure API Management)
1. 进入你的APIM实例
首先登录Azure门户,找到你的API Management服务实例,进入后在左侧菜单栏点击APIs选项卡,这是我们操作的核心区域。
2. 创建空白API
- 点击页面顶部的**+ Add API**,选择Blank API(空白API)选项。
- 填写基础配置信息:
- Display name:给API起个直观的名字,比如
Mocked User Management API - Name:系统会自动生成,也可以自定义成
mocked-user-api(小写无空格更规范) - Description:可选,比如写
Mocked API for testing user deletion workflows - URL scheme:选
HTTPS即可 - API URL suffix:填一个后缀,比如
users,这样API的基础路径就是https://<你的APIM域名>/users
- Display name:给API起个直观的名字,比如
- 点击Create完成API创建。
3. 添加Delete操作
- 切换到API的Design选项卡,点击**+ Add operation**按钮。
- 配置操作细节:
- Display name:比如
Delete User - Name:自动生成或改成
delete-user - URL:方法选择
DELETE,路径填写/{userId}({userId}是路径参数,用来指定要删除的目标用户ID)
- Display name:比如
- 点击Save保存这个操作。
4. 配置Mock响应
现在给Delete操作设置模拟返回数据:
- 在Design选项卡下,找到刚添加的
Delete User操作,点击右侧的**...,选择Add policy**。 - 在策略编辑器的左侧分类里找到Mock responses,选择Mock response策略,点击Add。
- 配置Mock内容:
- Status code:选
200 OK(模拟删除成功)或者404 Not Found(模拟用户不存在的场景) - Body:填写JSON格式的模拟响应体,比如删除成功的响应:
404场景的响应:{ "status": "success", "message": "User with ID {userId} deleted successfully" }{ "status": "error", "message": "User with ID {userId} not found" } - 可以添加Headers,比如
Content-Type: application/json,确保响应格式正确
- Status code:选
- 点击Save保存策略。
5. 测试你的Mocked Delete操作
- 切换到Test选项卡,选择
Delete User操作。 - 在Parameters区域输入
userId的值,比如123。 - 点击Send,就能看到Mock返回的响应结果了。
额外技巧:多场景Mock
如果需要根据不同条件返回不同响应,可以用Choose策略来实现分支逻辑。比如判断userId为999时返回404,其他情况返回200,策略代码如下:
<choose> <when condition="@(context.Request.MatchedParameters["userId"] == "999")"> <mock-response status-code="404" content-type="application/json"> <body>{"status": "error", "message": "User with ID 999 not found"}</body> </mock-response> </when> <otherwise> <mock-response status-code="200" content-type="application/json"> <body>{"status": "success", "message": "User with ID @(context.Request.MatchedParameters["userId"]) deleted successfully"}</body> </mock-response> </otherwise> </choose>
把这段代码替换掉之前的单个Mock响应策略即可。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

