問題タブ [jsend]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1784 参照

javascript - jquery ajaxカスタムエラーハンドラ

J Send 仕様形式で JSON 応答を返す JSON サーバーの上にバックボーン js Web アプリを作成しています。

その形式の例をいくつか示します。

/投稿を取得

投稿 /posts

デフォルトでは $.ajax の「エラー」イベントは http コードによってトリガーされますが、JSend 仕様の形式は HTTP コードをまったく使用しないため、$.ajax エラー ハンドラーを書き直す必要があります。

デフォルトでの動作方法 (http コード):

本文を解析したときにトリガーされる $.ajax エラーハンドラーを書き直すにはどうすればよいですか?「ステータス」プロパティが「失敗」または「エラー」の場合

0 投票する
5 に答える
7484 参照

ruby - Ruby Grape JSON-over-HTTP API、カスタムJSON表現

Grape::APIラックサービスとしての小さなプロトタイプサブクラスがありGrape::Entity、アプリケーションの内部オブジェクトを表示するために使用しています。

私はGrape::EntityDSLが好きですが、デフォルトのJSON表現を超える方法を見つけるのに苦労しています。これは私たちの目的には軽量すぎます。「jsendまたは同様の」形式で出力を生成するように依頼されました:http://labs.omniti.com/labs/jsend

Grapeフレームワークに沿って変更の性質が最も重要であるかどうかはまったくわかりません(ここでは、抵抗が最も少ないパスが必要です)。カスタムGrapeフォーマッター(これを行う方法がわかりません)、新しいラックミドルウェア(SysLogを介してAPIの入出力をログに記録するためにこれを行いました-しかし、本文を解析する必要があるため、フォーマットが悪いようです)を作成する必要がありますJSONから戻ってコンテナレベルを追加する)、またはGrape::Entityから例えばRABLに変更しますか?

サンプルコード( "app.rb")

ラックアップファイル( "config.ru")

私はそれを起動します:

そしてそれを呼んでください:

私が見たいもの:

明らかに、私は次のようなことをすることができます

すべてのルートで-しかし、それはあまり乾燥していないようです。このAPIが大きくなり、チーム全体で維持されている場合、よりクリーンで、カットアンドペーストエラーの可能性が少ないものを探しています


奇妙なことに、を{ :status => "success", :data => present( thing, :with => ThingPresenter ) }使ってみたところgrape 0.3.2、動作しませんでした。APIはからの値だけを返しましたpresent-私が最初に思ったよりも多くのことがここで起こっています。

0 投票する
2 に答える
1681 参照

php - tymondesigns/jwt-auth パッケージによって生成された laravel 5 でグローバル例外をキャッチする方法は?

Laravel 5 を使用して RESTful アプリケーションに取り組んでおり、例外をキャッチして適切な応答を生成しようとしています。すべての API 応答が JSend JSON 形式になるように、 tymondesigns/jwt-authパッケージも使用しています。

現在TokenExpiredException、指定されたトークンの有効期限が切れたときに発生する をキャッチしようとしています。だから私はこれを試しましたHandler.php

しかし、私はまだこの例外をキャッチして JSON 応答を返すことができません。次のような他の例外についてはこれを行うことができますが:

と:

Laravelで他の例外を処理するには?