ResponseStatus は必要ですか?
ウィキによると、例外のシリアル化を処理するには、応答 DTO に ResponseStatus プロパティが必要です。
https://github.com/ServiceStack/ServiceStack/wiki/検証
ただし、応答 DTO に ResponseStatus プロパティがなくても、ResponseStatus が自動的に生成されるようです。
ResponseStatus プロパティは必要ですか?
ResponseStatus は必要ですか?
ウィキによると、例外のシリアル化を処理するには、応答 DTO に ResponseStatus プロパティが必要です。
https://github.com/ServiceStack/ServiceStack/wiki/検証
ただし、応答 DTO に ResponseStatus プロパティがなくても、ResponseStatus が自動的に生成されるようです。
ResponseStatus プロパティは必要ですか?
Error Handling DocsResponseStatus
では、データが入力されたDTO を返すサービスを制御する方法について説明しています。
例外がスローされたときに返されるエラー応答は、従来の名前の{RequestDto}Response
DTO が存在するかどうかによって異なります。
サービス メソッドの{RequestDto}Response
応答タイプに関係なく、 が返されます。{RequestDto}Response
DTO にResponseStatusプロパティがある場合は、値が取り込まれます。それ以外の場合、 ResponseStatusは返されません。{ResponseDto}Response
(クラスとプロパティを[DataContract]/[DataMember]
属性で装飾した場合は、値を設定するためにResponseStatusも装飾する必要があります)。
ジェネリックErrorResponse
は、入力されたResponseStatusプロパティで返されます。
サービス クライアントは、さまざまなエラー応答タイプを透過的に処理します。JSON/JSV/etc のようなスキーマのない形式の場合、カスタムまたはジェネリックでResponseStatusErrorResponse
を返す間に実際に目に見える違いはありません。どちらもネットワーク上で同じ応答を出力するためです。
最終的に、すべての ServiceStack WebServiceExceptions は、HTTP エラー ステータスと共に返される、データが入力されたResponseStatusを持つ単なるレスポンス DTOです。例外が返される方法をカスタマイズするには、次のようなさまざまな方法があります。
デフォルトでは、応答 DTO での StackTraces の表示はデバッグ ビルドでのみ有効になりますが、この動作は次の方法でオーバーライドできます。
csharp
SetConfig(new HostConfig { DebugMode = true });