问题描述
所以我有这个端点:
[HttpGet]
public async Task<ActionResult> Get()
{
var ext = new ApiExtensions();
List<Record> records = await ext.GetRecords();
return Ok(records);
}
这是Record对象:
public class Record
{
public int Id { get; set; }
public string Name { get; set; }
public string CreatedBy { get; set; }
public DateTime? DateCreated { get; set; }
public string LastModifiedBy { get; set; }
public DateTime? LastModifiedDate { get; set; }
}
检查Fiddler或Postman中的结果,我得到了我期望看到的结果。 但是,这两个工具(Fiddler和Postman)都使我能够以不同的格式“查看”由api返回的数据(正文):文本,原始,json,xml等。因此,api返回的确切含义是客户端?仅仅是原始标签中显示的“原始”数据吗?还是以不同的格式返回相同的数据,并由客户端使用正确的数据?
(我正在使用.net core 3.1。)
谢谢。
解决方法
ASP.NET Core MVC / API支持格式化响应数据。可以使用特定格式或响应客户请求的格式来格式化响应数据。内置帮助器方法Ok返回 JSON格式的数据:
[HttpGet]
public async Task<ActionResult> GetMovie()
{
return Ok(await _context.Movie.ToListAsync());
}
您可以使用F12浏览器开发人员工具或Postman来检查响应标头,显示content-type: application/json; charset=utf-8
。
有关响应数据格式的更多详细信息,请参见Format response data in ASP.NET Core Web API。
但这两个工具(Fiddler和Postman)都使我能够 以各种格式“查看” api返回的数据(正文):文本, 原始,json,xml等
关于Fiddler和PostMan响应正文格式,我认为这是该工具的功能,最好更改响应正文格式。