1.7 KiB
description |
---|
Using server directory to create middlewares, plugins and API easily. |
Server Directory
Nuxt scans files under server directory to create middlewares, plugins and API routes to create features to use inside components or pages.
Each file under these folders must return a function defined with defineEventHandler()
.
Server Routes
Anything under ~/server/api
folder will create API routes to fetch data within API route.
export default defineEventHandler(() => {
return {
greetings: 'traveler'
}
})
<script setup lang="ts">
const {data} = await useFetch('/api/hello')
</script>
This server route will return a data object that contains an object with content of {greetings: 'traveler'}
.
Server route file will automatically match with GET
method and it can be changed by adding method names to file name such as: .post
, .put
, .delete
.
Routes may accept parameters, body and query parameters to get some values.
:ReadMore{link="/docs/guide/directory-structure/server#matching-route-parameters"}
Server Middleware
Nuxt will read anything under ~/server/middleware
folder and create middlewares for you to tweak request information.
export default defineEventHandler((event) => {
event.context.auth = { user: 123 }
})
:ReadMore{link="/docs/guide/directory-structure/server#server-middleware"}
Server Plugins
Any files under ~/server/plugins
folder will be registered as Nitro Plugin for changing Nitro's behavior.
:ReadMore{link="/docs/guide/directory-structure/server#server-plugins"}