Designing Web APIs with Strapi Get started with the Strapi headless CMS by building a complete learning management system API
Leverage the power of Strapi to build self-hosted, customizable, and performant content APIs Key Features Discover how Strapi can help you build APIs quickly and focus on your products and featuresLearn how to put Strapi into practice by implementing it in real-world scenariosUnderstand how to use S...
Uložené v:
| Hlavní autori: | , |
|---|---|
| Médium: | E-kniha |
| Jazyk: | English |
| Vydavateľské údaje: |
Birmingham
Packt Publishing
2022
Packt Publishing, Limited Packt Publishing Limited |
| Vydanie: | 1 |
| Predmet: | |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
Obsah:
- Table of Contents An Introduction to StrapiBuilding Our First APIStrapi Content-Types An Overview of the Strapi Admin PanelCustomizing Our APIDealing with ContentAuthentication and Authorization in StrapiUsing and Building PluginsProduction-Ready ApplicationsDeploying StrapiTesting the Strapi APIAppendix: Connecting a React App to Strapi
- About PACKT -- Other Books You May Enjoy
- Creating the Teacher role -- Creating the Admin role -- What if I want to change the default role for a new user? -- Working with policies -- Creating a policy -- Honorable mention - OAuth providers -- Summary -- Chapter 8: Using and Building Plugins -- Exploring the Strapi plugin ecosystem -- What is a plugin in Strapi? -- Installing and using plugins from the Marketplace -- Installing the API Documentation plugin from the CLI -- Finding more plugins -- Use case - Enabling GraphQL for our API -- Use case - Sending an email from Strapi -- Sending an email using the Email plugin -- Plugins and providers -- Hooking our API to send an email -- Creating our own plugins -- Plugin development - frontend versus development -- Building our plugin -- Updating the model -- Building the Enrollments component -- Creating an API token -- Displaying enrollments in the plugin -- Using Strapi Design System -- Summary -- Section 3: Running Strapi in Production -- Chapter 9: Production-Ready Applications -- Seeding the database -- Keeping permissions in sync -- Serving media from an S3 bucket -- Using PostgreSQL -- Testing PostgreSQL locally -- Summary -- Chapter 10: Deploying Strapi -- Deploying to Heroku -- Deploying to AWS Fargate -- Step 1 - Creating a Docker image for our API -- Step 2 - Creating a Docker repository on AWS ECR -- Step 3 - Creating an AWS Fargate cluster -- Troubleshooting -- Cleaning up -- Summary -- Chapter 11: Testing the Strapi API -- An overview of software testing -- Configuring test tools -- Setting up the test environment -- Preparing the database configuration -- Preparing the Strapi instance -- Writing and running tests -- Testing a public endpoint -- Testing a secure endpoint -- Summary -- Appendix: Connecting a React App to Strapi -- About the React app -- Understanding the React app folder structure -- Running the app -- Index
- Cover -- Title Page -- Copyright and Credits -- Contributors -- Table of Contents -- Preface -- Section 1: Understanding Strapi -- Chapter 1: An Introduction to Strapi -- What is Strapi? -- Why use Strapi? (The benefits of Strapi) -- Open source Node.js -- Database-agnostic -- Customizable (extendable) -- RESTful and GraphQL -- Users and permissions -- Preparing the development environment -- Installing Node.js -- Installing Visual Studio Code (optional) -- Installing Yarn -- Installing Docker (optional) -- Installing Postman -- Creating a Strapi application -- Overview of the admin panel -- Understanding server scripts -- The develop script -- The start script -- The build script -- The Strapi script -- Summary -- Chapter 2: Building Our First API -- Exploring the project structure of a Strapi application -- The commands to run Strapi -- The project structure -- Under the hood - the components that make up Strapi -- Defining the API requirements -- Creating our first content-type - a classroom -- Using the Strapi CLI instead of the admin panel -- Clarifying Strapi terminology -- Content-types, resources, object types, and models -- Interacting with the Strapi API -- Setting permissions -- What did we just create? -- Understanding the makeup of a Strapi API -- Routes, controllers, services, and models -- Content-types in code -- Summary -- Chapter 3: Strapi Content-Types -- What is the Content-Type Builder plugin? -- Creating and managing content-types -- Creating a title field -- Creating a slug field -- Creating a type field -- Creating url and contents fields -- Understanding relations in Strapi -- One-way -- One-to-one -- One-to-many -- Many-to-one -- Many-to-many -- Many-way -- Creating a Tutorial and Classroom relation -- Creating a tutorial from the admin panel -- Interacting with the API endpoints from Postman
- Differences between SINGLE TYPES and COMPONENTS -- Creating components -- Summary -- Chapter 4: An Overview of the Strapi Admin Panel -- Navigating around the admin panel -- Content Manager -- PLUGINS -- GENERAL -- Marketplace -- Plugins -- Settings -- Managing admin users -- The difference between Users and admin users -- Creating new admin panel users -- Managing admin panel roles -- Managing content effectively -- Searching and filtering to query our data -- Customizing the table view -- Customizing the details view -- Using the Media Library -- Media types in API responses -- Summary -- Section 2: Diving Deeper into Strapi -- Chapter 5: Customizing Our API -- The routes - where it all starts -- The default routes -- Disabling a core route -- Adding a new route -- Handling routes with controllers -- Adding a new controller handler for our endpoint -- Controllers - it's all about context -- Reusing logic with Strapi services -- Communicating with the database using the Entity Service API -- Returning a unified response -- Populating relationships -- Sanitizing data - hiding passwords -- Overriding the default CRUD APIs -- Tweaking database queries and responses with life cycle hooks -- Using hooks -- DRYing the hook's logic with services -- Summary -- Chapter 6: Dealing with Content -- Creating sample data -- Cleaning up -- Sorting API content -- What about sorting on multiple fields? -- Filtering API content -- Paginating API content -- Under the hood - how it works -- Summary -- Chapter 7: Authentication and Authorization in Strapi -- Understanding the difference between admin users and API users -- API login and sign-up -- What if I want to change the JWT expiration time? -- What if I want to change the JWT secret? -- Securing API routes -- Under the hood - how it works -- Using Strapi roles and permissions -- Creating the Student role
- Designing Web APIs with Strapi: Get started with the Strapi headless CMS by building a complete learning management system API

