Accept
ServiceStack サービスは、ヘッダーで要求されたコンテンツ タイプで応答するのに最適です。しかし、リクエスト フィルター内からレスポンスを早期に閉じる/終了する必要がある場合、適切なコンテンツ タイプでレスポンスする方法はありますか? リクエストフィルターでアクセスできるのは生の IHttpResponse だけなので、唯一のオプションは、退屈で手動でAccept
ヘッダーをチェックし、一連の switch/case ステートメントを実行して、使用するシリアライザーを特定し、直接書き込むことです。にresponse.OutputStream
。
質問をさらに説明するために、通常のサービス メソッドでは、次のようなことができます。
public object Get(FooRequest request)
{
return new FooResponseObject()
{
Prop1 = "oh hai!"
}
}
また、ServiceStack は、使用するコンテンツ タイプと使用するシリアライザーを判断します。リクエスト フィルタ内でこれと同様のことができますか?