0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

nuxt3のServerRoutesでエラーを返す方法(備忘録)

Posted at

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."
    })
  }

})

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?