にデータを追加し、私はHttpResponseMessage
戻っている私のWeb APIのアクションがあります、私の問題がある今ウェブAPIは:HttpResponseMessage
public async Task<HttpResponseMessage> Create([FromBody] AType payload)
{
if (payload == null)
{
throw new ArgumentNullException(nameof(payload));
}
await Task.Delay(1);
var t = new T { Id = 0, Name = payload.tName, Guid = Guid.NewGuid() };
var response = new MyResponse { T = t };
var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ObjectContent(typeof(MyResponse), response, new JsonMediaTypeFormatter { SerializerSettings = { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore } }) };
return result;
}
をその要求が行われ、要求のContent-Type
がapplication/xml
でされている場合、私はxml formatter
を使って返答の身体を置くべきです。
ジェネリッククラスを使用し、フレームワークが要求のコンテンツタイプに基づいて実行時にどのフォーマッタを使用するかを決定する方法はありますか?
私はこれを行っていると、要求はXML一つであったとの応答がJSONた –
はリクエストのAcceptヘッダーに基づいて、なぜ...私は知りません。要求のコンテンツタイプに基づいてコンテンツを強制的に強制して、要求から取得し、応答のオーバーロードを作成する場合は、その要求に含めます。 'Request.CreateResponse(HttpStatusCode.OK、response、Request.Content.Headers.ContentType); ' – Nkosi
これにより、応答コンテンツタイプは要求コンテンツタイプに基づいています。 – Nkosi