通常の状況下では、restfult APIの戻りデータやモデルバインディング、デフォルトのJSON形式は時折、XML形式の要件を必要とし、当然のことながら、より一般的かつ便利です
戻りXMLのために、普通の一般的な方法は、各aciton方法でXMLFormatterなどシリアル化することです
XMLを受信するために、それはいくつかの追加のXML構文解析操作や、逆シリアル化プロセスです。
レコードの次およびXML要求と応答処理の使用がより便利WebAPIのを学び、教えてください間違っている、スプレーしない好きではありません。
.NETコアバージョン:2.2
XML形式のサポートを追加します
1、インストールパッケージMicrosoft.AspNetCore.Mvc.Formatters.Xml NuGet
2は、その後、Startup.ConfigureServicesコールAddXmlSerializerFormattersは System.Xml.Serialization.XmlSerializerの実装を設定します。
公共のボイドConfigureServices(IServiceCollectionサービス)
{
services.AddMvc()。SetCompatibilityVersion(CompatibilityVersion.Version_2_2)。AddXmlSerializerFormatters();
}
レスポンスXMLデータ
アクションレベルは、応答コントローラレベルでXML形式内の特定の操作を指定するか、グローバル、単に追加したい[生み出し] 他のさらに複雑な処理ステップなしに、処理に応じて、XML形式になります、フィルタを
に応じて、XML形式で指定されたアクションメソッド:
[HTTPGET( "getstudent / {ID}")]
[生成し( "アプリケーション/ XML")]
パブリック学生GetStudent(int型のID)
{
VAR OBJ =新しい生徒
{
年齢= 12、
NAME = "123123"
}。
OBJを返します。
}
次のように直接的なリターンは次のようになります。
XMLリクエスト
使用したXML形式のデータ要求[消費し】
次のコード:
次の例では、XML形式の要求、プログラムが自動的に学生モデルクラスを解析し、結合し、このオブジェクトは、(デフォルトの形式はWebAPIのを返された)JSON形式を返します。
[HttpPost( "poststudent")] [消費し( "アプリケーション/ XML")] パブリック学生PostStudent(学生OBJ) { OBJを返します。 }
結果は以下の通りであります: