4

Nameを入力パラメーターとして受け取る単純なサービススタックWebサービスがあります。このスレッドから、新しいAPIを使用するときにResponseStatusプロパティが不要になったことを理解しています。しかし、fiddlerを使用して名前のないリクエストを作成しようとすると、期待どおりに400の応答コードが返されますが、例外に関する情報は含まれていませんでした。したがって、新しいAPIは、特に.NET以外のクライアントに対して、すぐに使用できるエラーの説明を提供しますか。そうでない場合は、この情報を提供する方法はありますか。

public object Any(CustomerRequest request)
{
   if (request.Name == null)
   {
     throw new ArgumentException("Name is required");
   }

   var objCustomer = //get customer from DB

   return objCustomer;
}

public class CustomerRequest
{
   public string Name {get;set;}
   public bool IsActive {get;set;}
}
4

1 に答える 1

3

新しいAPIでResponseStausを追加する必要はありません。ペンフォールズの例のように{"ResponseStatus":{"ErrorCode":"ArgumentException","Message":"Name is required","Errors":[]}}、応答として取得する必要があります。

コードベースにCustomerResponseクラスがまだありますか?その場合は、コメントアウトするか削除してみてください。例外が発生したときに戻ってきたとしても、 ServiceStackは従来の名前のResponseタイプ(ここobjectを参照)を探し、ResponseStatusプロパティに入力しようとします。

于 2013-03-21T04:41:31.017 に答える