QA@IT

APIサーバ(Rails)をjQueryで叩く際のエラーハンドリングについて

2181 PV

以下のような、ユーザがログインしているかどうかを判別するメソッドがあるとします。

class Api::SessionsController < Api::ApplicationController
  # GET /api/sessions/verify
  def verify
    if user_signed_in?
      head :ok
    else
      head :unauthorized
    end
  end
end

jQueryからこれを叩くとすると、以下のようになると思っています。

class @Session
  @verify: ->
    $.ajax
      type: 'GET'
      url: '/api/sessions/verify'
    .done ->
      true
    .fail ->
      false

# 認証済みかどうか判断する

Session.verify()
  .done ->
    # ok
  .fail ->
    # unauthorized

以上で、認証済みかどうかは処理できたのですが、ブラウザのコンソールに以下のようなエラーメッセージが表示されます。

GET http://localhost:3000/api/sessions/verify 401 (Unauthorized)

これが表示される理由は分かるのですが、こういったエラーメッセージは、開発者が意図しない場合にのみ表示されるべきだと理解しており、意図しているケースのため表示したくありません。
一般的に、APIサーバが返す > 400 なコードをjQuery側から処理する場合、どのように実装すればよいのでしょうか?

ウォッチ

この質問への回答やコメントをメールでお知らせします。