ASP.NET Core request body限制特定格式配置

在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

详情看官网:使用 ASP.NET Core 创建 Web API | Microsoft Docs

博客备忘,一起成长。
原文地址:https://www.cnblogs.com/lumingprince/p/14710255.html