0
ASP.NET ODataライブラリを使用して、ODataサービスが実装されています。ASP.NET ODataからの例外のキャッチ/変換メソッドの取得
だから、私はこのようなコントローラがあります。今
public class ProjectsController : ODataController
{
private readonly MyContext _db;
public ProjectsController(MyContext db)
{
_db = db;
}
[EnableQuery]
public IQueryable<Project> Get(string customQuery)
{
var query = _db.Projects;
if (!string.IsNullOrWhitespace(customQuery))
{
query = query.Where(/* something complex going here */);
}
return query.OrderByDescending(p => p.Id);
}
}
を、このすべてが正常に動作します。しかし、場合によっては、特定の「customQuery」によってSQLコードが生成され、0で除算されることがあります。そして、その結果、サーバはステータス500(oops)と次のようなエラーオブジェクトを返します:
{"error":{"code": ""、 "message": "エラーが発生しました」}}
これはあまり有益ではありません。私は例外をキャッチして、それを400という意味のあるメッセージで翻訳したい(カスタムクエリの修正方法をユーザーにアドバイスする)。
グローバル例外フィルタ、属性例外フィルタ.. no luckを設定しようとしました。何か案は?