にレスポンスボディをシリアル化に失敗しました。私は単に私のデータベースからいくつかのデータを返すようにしようとしてASP.NETのWeb APIに取り組んでいますが、私はこのエラーを取得しておいてください。は、ASP.NETのWeb API
The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.
私が持っています私のような他の質問で示唆されているように、Global.asaxファイルに以下を追加しようとしましたが、エラーのフォーマットを変更するだけです。
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter)。
私のコントローラには、以下のようになります。
public class SQLController : ApiController
{
public IEnumerable<Alias> Get()
{
using (DatabaseEntities entities = new DatabaseEntities())
{
return entities.Aliases.ToList();
}
}
public Alias Get(int id)
{
using (DatabaseEntities entities = new DatabaseEntities())
{
return entities.Aliases.FirstOrDefault(a => a.ID == id);
}
}
}
私ははるかに簡単なデータベースと非常に似た何かを試してみましたが、それがうまく働きました。私は、別のデータモデルを作ることでこの問題を解決できるということも読んだことがありますか?もしそうなら、私はそれをどうやってやりますか?なぜ私がこのエラーを受け取っているのか理解するのに役立つでしょう。
てみconfig.Formatters.Remove(config.Formatters.XmlFormatter)を追加します。あなたのwebapiconfig.csに送信してください。 – RandomUs1r