私はこのような方法を持っています:
public JObject Get(int id)
{
return new JObject(new JProperty("Test", "Test"));
}
JSONをリクエストすると問題なく動作しますが、XMLをリクエストすると、Web APIフレームワークからHTTPエラーコード500が取得されます(例外はありません)。XMLformatterはjsonを記述できると考えているようです。私はそれをテストすることができます:
bool test = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JArray));
bool test2 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JObject));
bool test3 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JProperty));
bool test4 = GlobalConfiguration.Configuration.Formatters.XmlFormatter.CanWriteType(typeof(JValue));
常に「true」を返します。xmlformatterを削除したくありませんが、サーバーがHTTPエラー500をスローすることは受け入れられません。これは、私が生成せず、解決できません。最良の方法は、XMLformatterがオブジェクトをシリアル化できることです...