wep api 添加返回 xml 配置返回响应格式 请求格式

AddXmlSerializerFormatters()
builder.Services.AddControllers().AddNewtonsoftJson(options =>
{
  options.SerializerSettings.ContractResolver = new DefaultContractResolver();
}).AddXmlSerializerFormatters();

  

静态类 配置响应头

MediaTypeNames 就是配置响应格式 json xml 等等

 Produces 特性配置 响应格式头

Consumes 特性配置 请求格式头

ProducesResponseType 特性配置 响应码

例如 下面代码 请求格式为xml 响应格式为json

 /// <summary>
 /// 新增
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 [ProducesResponseType(statusCode: StatusCodes.Status400BadRequest)]
 [ProducesResponseType(statusCode: StatusCodes.Status201Created)]
 [ProducesResponseType(statusCode: StatusCodes.Status200OK)]
 [Consumes(MediaTypeNames.Application.Xml)]
 [Produces(MediaTypeNames.Application.Json)]
 //[ApiConventionNameMatch(ApiConventionNameMatchBehavior.Prefix)]
 [HttpPost]
 public async Task<IActionResult> Create([FromBody] User user)
 {
     User findResult = await _dbContext.Users.FindAsync(user.Id);
     if (findResult != null)
     {
         return BadRequest();
     }
     await this._dbContext.Users.AddAsync(user);
     await this._dbContext.SaveChangesAsync();
     return Ok(user);
 }

  

 

 代码实现

[Consumes(MediaTypeNames.Application.Xml,new string[] { MediaTypeNames.Application.Json })]

  

返回结果

 

posted on 2024-03-21 22:00  是水饺不是水饺  阅读(8)  评论(0)    收藏  举报

导航