# Introduction

The library provides a single JAR that can be used to define and run an HTTP stub server using a declarative API definition file in YAML format.&#x20;

The API definition file allows developers to specify expected HTTP requests and their corresponding responses.

The library also supports template rendering using Groovy, allowing developers to dynamically generate responses based on incoming requests.&#x20;

The library includes a file watch feature that automatically reloads the API definition file when it changes, making it easier to make changes to the API during development.

**Some key features of the library include:**&#x20;

* A single JAR for easy integration into Java projects&#x20;
* Declarative API definition using YAML for easy configuration of expected requests and responses&#x20;
* Support for rendering and pattern selection using Groovy to dynamically generate responses&#x20;
* A file watcher to automatically reload the API definition file during development
* With the reverse proxy feature, requests can be intercepted at the application level for further use
* 'VCR' recording. Record HTTP interactions that can be played back in the future

Overall, the library is a useful tool for Java developers who need to test HTTP client code on an HTTP stub server or simulate remote API behavior during integration/system testing.

&#x20;The declarative API definition and template rendering features of the library make it easy to set up expected queries and responses, and the file watch feature simplifies the development process by automatically reloading the API definition file.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://httpstubhq.gitbook.io/httpstub/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
