Apidog

All-in-one Collaborative API Development Platform

API Design

API Documentation

API Debugging

API Mocking

API Automated Testing

Mocking APIs with Complexed Data in Minutes

Discover how to effortlessly mock complex APIs in just minutes with Apidog. This guide walks you through importing API definitions, customizing mock rules for enums, arrays, and schema-referenced objects, and generating mock URLs—no coding required.

Ismail Kamil

Ismail Kamil

Updated on November 29, 2024

Many developers have found our previous blog, "Mocking an API in ONE Minute," useful, and you might too. That blog covered a quick way to mock an API, but it only scratched the surface. As I dug deeper into Apidog, I uncovered additional features that make mocking even complex data faster.

API Mocking: Everything You Need to Know
Learn how API Mocking enhances development by simulating services before they’re ready. Apidog offers a no-code, intuitive platform to mock APIs, perfect for early testing, saving costs, and seamless collaboration. From local to cloud mocking, explore Apidog’s versatile features for developers.

Handling APIs with Complex JSON Data

Let’s start with how to import a Swagger API into Apidog to mock JSON data. This way, you can generate mock data without writing any scripts.

However, some fields can be tricky to mock without additional configuration. For instance:

  • Enum fields with multiple possible values, often used for status fields.
  • Fixed-length arrays, like a table where each row has several attributes and a page might display 20 or 50 rows.
  • Objects that reference schemas, as allowed by the OpenAPI spec, where an object or part of an object refers to a schema.

Fortunately, with Apidog, you can mock these complex JSON fields in just two minutes.

How to Mock APIs with Complexed JSON Data Quickly?

Apidog An integrated platform for API design, debugging, development, mock, and testing
REAL API Design-first Development Platform. Design. Debug. Test. Document. Mock. Build APIs Faster & Together.

Here’s a simple three-step process to mock complex APIs using Apidog:

  1. Import API definitions.
  2. Customize API mock rules for specific fields.
  3. Get the mock URL.

It’s that easy. Let’s go through it.

Step 1: Import API Definitions

You only need an OpenAPI JSON or YAML file. Import it into Apidog, and you're ready to go.

Importing openAPI specifications into Apidog

Step 2: Customize API Mock Rules for Specific Fields

Enum values:
In our sample API, the 'status' field has three options: available, pending, and sold. We want our mock data to reflect only one of these values.
Click 'Advanced settings' in the 'Status' field, enable the 'Enum' switch, and add the enum values. Now, this field will only mock one of these values.

Customizing enum values for API mocking at Apidog

Fixed-length arrays:

For the 'PhotoUrls' array field, we need exactly five items.

In the 'Advanced settings' of the 'PhotoUrls' field, adjust the 'Element Limit' settings. Set both 'minItems' and 'maxItems' to 5.

Customizing API mock rules at Apidog

Schema-referenced objects:

Apidog support schemas as per the OpenAPI specification. If an object refers to a schema, Apidog will mock it accordingly. For example, you can reference the schema for the 'Category' field.

Reference other schemas for specific fields for API mocking

Step 3: Get the API Mock URL

Click ‘Save', and switch to the 'Endpoint' tab. Copy the URL under the "Local Mock" section, which starts with "127.0.0.1".

Getting mock API URL configured at Apidog

Paste the URL into your browser, and you're done.

API mock data examples using Apidog

Notable Fields

When you check the mocked data, you’ll notice:

  • PhotoUrls has exactly 5 items, all with valid image URLs.
  • Status is limited to one of the enum values (sold, pending, or available).
  • Category refers to the correct schema.

Other fields, like city and createdAt, are mocked automatically.

And if you refresh the URL, the mock data updates.

Refresh to update the API mock data at Apidog

Apidog Supports Mocking JSON Schema for APIs

Apidog is fully compatible with OpenAPI 3.0, which uses JSON Schema to define the structure of API data. All JSON Schema attributes are supported in Apidog, including:

  • String length range, format, and pattern (regex)
  • Minimum and maximum integer values
  • Read-only/write-only settings

Not just JSON, Apidog also supports mocking XML. You can even customize the XML tag names and prefixes.

Mocking XML data at Apidog

Thanks to JSON Schema, you can generate any complex mock data with just a few clicks using Apidog—no coding required.

button

A Developer’s Guide to Testing LLM AI APIs with SSETutorials

A Developer’s Guide to Testing LLM AI APIs with SSE

Discover how Apidog's upgraded SSE debugging enhances real-time interaction with AI models. Streamline testing, visualize AI’s thought process, and customize response handling for AI APIs, ensuring an efficient and transparent debugging process.

Oliver Kingsley

February 20, 2025

How to Build Websites Using Lovable AITutorials

How to Build Websites Using Lovable AI

Discover how to build any website using Lovable in this comprehensive guide. Learn step-by-step processes, explore innovative features, and integrate free tools like Apidog to streamline API management.

Ashley Innocent

February 19, 2025

How to Stream LLM Responses Using Server-Sent Events (SSE)Tutorials

How to Stream LLM Responses Using Server-Sent Events (SSE)

In this guide, explore how to leverage Server-Sent Events (SSE) to stream Large Language Model (LLM) responses. From initiating the SSE connection to debugging streams, this article covers essential steps and tips for efficient real-time streaming.

Oliver Kingsley

February 18, 2025