0

クライアントがテキストまたはファイル データを投稿できる汎用 API エンドポイントを作成したいと考えていますが、データのコンテンツ/メディア タイプはわかりません。フレームワークでは、HTTP ヘッダーで渡されるすべてのコンテンツ タイプに対してコンテンツ フォーマッタを指定する必要があるようです。そうしないと、エラーがスローされます。受け入れる可能性のあるすべてのメディア タイプに対してフォーマッタを定義する必要はありません。それらのメディア タイプに何が含まれるかはまだわからないからです。

一般的なメディア タイプ フォーマッタでエンドポイントを定義する方法、またはまったく指定しない方法はありますか? メソッド パラメーターとしてジェネリック オブジェクトを使用してもかまわないようですが、フレームワークは、フォーマッターなしでメディア タイプを処理できないことにハングアップし続けます。

実際にこのデータを処理できる必要はありません。(メッセージング システムのようなもののために) 保存するだけです。

余談ですが、このデータをリクエスト本文の生のコンテンツとして受け取り、マルチパート フォーム リクエストを使用したくないのですが、そのようにする方が理にかなっている場合は、オプションになる可能性があります。

4

2 に答える 2

2

コンテンツを自分で読み取ることで、フォーマッターを完全にバイパスできます。次に例を示します。

public async Task Post()
{
    string content = await Request.Content.ReadAsStringAsync();
    // Store away the content
}

これには、フォーマッタを使用または定義する必要はまったくありません。

于 2013-06-10T23:43:25.593 に答える