0

アイテムの詳細ページがあるとしましょう: /items/{id}。もちろん、ユーザーは任意のランダム ID を試すことができますが、そのアイテムにアクセスできない場合は、データのない詳細ページを返します。これはあまり良くありません。代わりに 404 または 204 を返すだけです。しかし、Breeze Web API では IQueryable を返すため、エラーを返すことができず、クライアントで空のセットを処理する必要があります。これを行うための最も良い方法は何ですか? 結果が空かどうかを確認してから、カスタム 404 ページにリダイレクトすることを考えていますが、もっと良い方法があるかどうか疑問に思っていましたか?

ありがとう

4

2 に答える 2

1

このように IQueryable メソッド内から 404 エラーをスローできます。

[HttpGet]
public IQueryable<Customer> CustomersWithHttpError() {
  // throw new HttpResponseException(HttpStatusCode.NotFound);
  var responseMsg = new HttpResponseMessage(HttpStatusCode.NotFound);
  responseMsg.Content = new StringContent("Custom error message");
  responseMsg.ReasonPhrase = "Custom Reason";
  throw new HttpResponseException(responseMsg);
}
于 2013-08-12T23:01:23.500 に答える