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 })]
返回结果