在webAPI中,有时要求只能接收特定的请求格式的需求,在ASP.NET Core中默认使用Json based 输入格式,下面以增加内置xml输入格式为例:
- 安装Microsoft.AspNetCore.Mvc.Formatters.Xml Nuget包
- 在Startup.ConfigureServices中调用 AddXmlSerializerFormatters 或 AddXmlDataContractSerializerFormatters.扩展方法,该方法在AddMVC()和AddControllers(),如services.AddControllers().AddXmlDataContractSerializerFormatters();
- 在controller类或Acton方法上应用consumes特性,如下所示
[HttpPost]
[Consumes("application/xml")]
public ActionResult<Pet> Create(Pet pet)
详情看官网:ASP.NET Core 中的模型绑定 | Microsoft Docs
此外限定响应格式,使用特性(Attribute)Produces,如下所示
[Produces(MediaTypeNames.Application.Json)]
[Route("[controller]")]
public class PetsController : MyControllerBase