Agrest Documentation


Table of Contents

I. Agrest Overview
1. What is Agrest
2. What Agrest is Not
3. Supported Data Stores
4. Security
II. Agrest Protocol
1. Overview
2. JSON Documents
2.1. Response: Simple Document
2.2. Response: Collection Document
2.3. Request: Update Document
3. Dates and Times
4. Control Parameters
4.1. Filtering Collection with cayenneExp
4.2. Ordering Collection with sort / dir
4.3. Pagination with start / limit
4.4. Structuring Collection with mapBy
4.5. Shaping Collection with include / exclude
5. Protocol Extensions
5.1. Sencha Adapter
III. Agrest Framework
1. Prerequisites
2. Getting Started
3. Writing Resource Endpoints
3.1. Create Entity with POST
3.2. Read Collection of Entities with GET
3.3. Read a Single Entity with GET
3.4. Update Entity with PUT
4. Request Chains
4.1. Available Chains
4.2. Strategies for Object Matching
4.3. Idempotency of Updating Chains
5. Non-Persistent Properties and POJOs
6. Relationship Resources
7. Securing Endpoints
8. Customizing Request Processing
8.1. stage
8.2. terminalStage
8.3. routingStage
IV. Agrest Workflow
1. Create a Simple Agrest App
1.1. Setting up the environment
1.2. Starting a project
1.3. Implementation
1.4. Running the Application
2. Design-First Approach
2.1. Introduction
2.2. Setting up the environment
2.3. Defining the API
2.4. Validate the API implementation
2.5. Configure and run the API generation
2.6. More examples with integration tests
2.7. protocol.yaml
3. Code-First Approach
3.1. Introduction