nuxt3のServerRoutesでエラーを返す方法(備忘録)
nuxt3について調べてもAPI側のエラーについて細かく書いてる記事がなかったので試してみた。
nuxt3の持ってるcreateError()
を使えば任意のステータスでレスポンスが返せる
成功時のステータスについては調査中。。。
誰か知ってたら教えてください
サンプル
- 公式のサンプル
export default defineEventHandler((event) => {
return {
api: 'works'
}
})
こんな感じでレスポンスでJSONを返すだけで使える。便利
- try/catchを使った例
export default defineEventHandler((event) => {
try {
// なんか適当な処理
return {
status: "success"
}
} catch(error) {
return {
status: "error"
}
}
})
これだとbodyの中身が違うだけでどちらも同じステータスで返る
なので、createError()
でエラーを作ってステータスコードを指定する
export default defineEventHandler((event) => {
try {
// なんか適当な処理
return {
status: "success"
}
} catch(error) {
return createError({
statusCode: 404,
message: "Not Found."
})
}
})