All-in-one Collaborative API Development Platform

API Design

API Documentation

API Debugging

API Mock

API Automated Testing

Sign up for free
Home / Tutorials / How to Mock Complex APIs in TWO Minutes

How to Mock Complex APIs in TWO Minutes

This article aims to introduce an approach for quickly mocking an API. And you can quickly mock all these complex JSON in two minutes in Apidog.

You may find the solution introduced in How to Mock an API in ONE Minute helpful, as many other developers have. This article aims to introduce an approach for quickly mocking an API. However, it is important to note that the previous solution was only a small part of the tool. Upon further exploration, I discovered additional valuable features that can help you mock complex data even faster.

Complex JSON

The first part to talk about is how to import a Swagger API into Apidog to mock some JSON data. Then you can have your mock data directly without any scripts.

But some fields are complicated; you can't mock them without any settings. For example, an enum field has several optional values. It usually appears in status fields. Or an array with a fixed length. It's often used in a table where each row has several attributes, and each page has 20 or 50 rows. Or, an object refers to a schema. OpenAPI specification allows an API to refer to a schema as an object or part of an object.

Luckily, now we can quickly mock all these complex JSON in two minutes in Apidog.

How to Mock Complex APIs Quickly

There are three steps to mock the API.

  1. Import API definitions.
  2. Set specific fields.
  3. Get the mock URL.

So easy. Let's mock it!

Step 1. Import API Definitions.

You just need an OpenAPI JSON or YAML and import it into Apidog.

Imported API Definitions

Step 2. Set Specific Fields

Enum values

In this sample API, the 'status' field has three optional values: available, pending, and sold. So I hope this field in my mocking data has only one of these values too.

Click 'More' in the 'status' field. You'll see an 'Enum' switch. Turn it on, and you'll be able to add enum values. After that, data of this field will be mocked according to the settings.

Set Up Field

Arrays with fixed length

PhotoUrls is an array field. I need it to have a fixed five items.

Click 'More' in the 'PhotoUrls' field. You'll see an 'Element Limit' setting. Set the minItems 5 and maxItems 5.

Arrays with Fixed Length

Object refers to a schema

Apidog support schemas in OpenAPI specification. So you just need to select a Schema for an object, and Apidog will mock the object according to the schema.

For example, the 'Category' field.

Select Schema

Step 3. Get the Mock URL

Click ‘Save', and switch to the 'API' tab. Copy the URL in the "Local Mock" part which starts with "".

Copy the URL

Paste the URL into the browser.

That's it.

Mocking JSON

Notice these fields: photoURLs with fixed item quantity(5), while URLs are mocked automatically with available image URLs; status with enum values(sold, pending, or available), and category refers to a schema. The other fields, like city and createdAt are mocked automatically.

And if you reload the URL, the mock data refreshes.

Mocking JSON

JSON Schema

OpenAPI 3.0 data types are based on JSON Schema, which describes the data structure of APIs.

Apidog is compatible with OpenAPI. Length range, format, and pattern(regular expression) of strings, min and max value of integers, readonly/writeonly; all attributes in JSON Schema are supported.

Not only JSON but XML is also supported to mock. You can even set the tag names and prefixes of XML data.

Mocking XML

Based on JSON Schema, any complex mock data can be generated easily with a few mouse clicks. Still, you don't need to write any scripts.

Just enjoy it.

Download Apidog here, and wait for my next post to see more powerful mock features.

Join Apidog's Newsletter

Subscribe to stay updated and receive the latest viewpoints anytime.