如何解决.net核心api到底返回到浏览器什么?
所以我有这个端点:
[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响应正文格式,我认为这是该工具的功能,最好更改响应正文格式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。