Tutorial: Mock API responses
Backend APIs can be imported into an API Management (APIM) API or created and managed manually. The steps in this tutorial show you how to use APIM to create a blank API and manage it manually, then set a policy on an API so it returns a mocked response. This method enables developers to proceed with implementation and testing of the APIM instance even if the backend is not available to send real responses.
The ability to mock up responses can be useful in a number of scenarios:
- When the API façade is designed first and the backend implementation comes later. Or, the backend is being developed in parallel.
- When the backend is temporarily not operational or not able to scale.
In this tutorial, you learn how to:
- Create a test API
- Add an operation to the test API
- Enable response mocking
- Test the mocked API
Prerequisites
- Learn the Azure API Management terminology.
- Understand the concept of policies in Azure API Management.
- Complete the following quickstart: Create an Azure API Management instance.
Create a test API
The steps in this section show how to create a blank API with no backend.
Sign in to the Azure portal, and navigate to your API Management instance.
Select APIs > + Add API > Blank API.
In the Create a Blank API window, select Full.
Enter Test API for Display name.
Select Unlimited for Products.
Ensure Managed is selected in Gateways.
Select Create.
Add an operation to the test API
An API exposes one or more operations. In this section, add an operation to the blank API you created. Calling the operation after completing steps in this section produces an error. You will get no errors after you complete steps later in the Enable response mocking section.
Select the API you created in the previous step.
Select + Add Operation.
In the Frontend window, enter the following values.
Setting Value Description Display name Test call The name that is displayed in the developer portal. URL (HTTP verb) GET Select one of the predefined HTTP verbs. URL /test A URL path for the API. Description Optional description of the operation, used to provide documentation in the developer portal to the developers using this API. Select the Responses tab, located under the URL, Display name, and Description fields. Enter settings on this tab to define response status codes, content types, examples, and schemas.
Select + Add response, and select 200 OK from the list.
Under the Representations heading on the right, select + Add representation.
Enter application/json into the search box and select the application/json content type.
In the Sample text box, enter
{ "sampleField" : "test" }.Select Save.
Although not required for this example, additional settings for an API operation can be configured on other tabs, including:
| Tab | Description |
|---|---|
| Query | Add query parameters. Besides providing a name and description, you can provide values that are assigned to a query parameter. One of the values can be marked as default (optional). |
| Request | Define request content types, examples, and schemas. |
Enable response mocking
Select the API you created in Create a test API.
Select the test operation that you added.
In the window on the right, ensure that the Design tab is selected.
In the Inbound processing window, select + Add policy.
Select Mock responses from the gallery.
In the API Management response textbox, type 200 OK, application/json. This selection indicates that your API should return the response sample you defined in the previous section.
Select Save.
Tip
A yellow bar with the text Mocking is enabled for your API indicates that responses returned from API Management are mocked by the mocking policy and are not produced by the backend.
Test the mocked API
Select the API you created in Create a test API.
Select the Test tab.
Ensure the Test call API is selected. Select Send to make a test call.
The HTTP response displays the JSON provided as a sample in the first section of the tutorial.
Next steps
In this tutorial, you learned how to:
- Create a test API
- Add an operation to the test API
- Enable response mocking
- Test the mocked API
Advance to the next tutorial:
