Files
medusa-store/www/apps/book/app/basics/api-routes/page.mdx
Shahed Nasser 964927b597 docs: general fixes and improvements (#7918)
* docs improvements and changes

* updated module definition

* modules + dml changes

* fix build

* fix vale error

* fix lint errors

* fixes to stripe docs

* fix condition

* fix condition

* fix module defintion

* fix checkout

* disable UI action

* change oas preview action

* flatten provider module options

* fix lint errors

* add module link docs

* pr comments fixes

* fix vale error

* change node engine version

* links -> linkable

* add note about database name

* small fixes

* link fixes

* fix response code in api reference

* added migrations step
2024-07-04 17:26:03 +03:00

64 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const metadata = {
title: `${pageNumber} API Routes`,
}
# {metadata.title}
In this chapter, youll learn what API Routes are and how to create them.
## What is an API Route?
An API Route is a REST API endpoint. It exposes commerce features to external applications, such as storefronts, the admin dashboard, or third-party systems.
The Medusa core application provides a set of admin and store API routes out-of-the-box. You can also create custom API routes to expose your custom functionalities.
---
## How to Create an API Route?
An API Route is created in a TypeScript or JavaScript file under the `src/api` directory of your Medusa application. The files name must be `route.ts` or `route.js`.
Each file exports API Route handler functions for at least one HTTP method (`GET`, `POST`, `DELETE`, etc…).
For example, to create a `GET` API Route at `/store/hello-world`, create the file `src/api/store/hello-world/route.ts` with the following content:
```ts title="src/api/store/hello-world/route.ts"
import type {
MedusaRequest,
MedusaResponse,
} from "@medusajs/medusa"
export const GET = (
req: MedusaRequest,
res: MedusaResponse
) => {
res.json({
message: "[GET] Hello world!",
})
}
```
### Test API Route
To test the API route above, start the Medusa application:
```bash npm2yarn
npm run dev
```
Then, send a `GET` request to the `/store/hello-world` API Route:
```bash apiTesting testApiUrl="http://localhost:9000/store/hello-world" testApiMethod="GET"
curl http://localhost:9000/store/hello-world
```
---
## When to Use API Routes
<Note title="Use API routes when" type="success">
- You're exposing custom functionality to be used by a storefront, admin dashboard, or any external application.
</Note>