1、JsonResult和ObjectResult用法
1)JsonResult
JsonResult是实现IActionResult接口,将指定的对象转换成Json字符串,返回响应结果。
2)ObjectResult
ObjectResult也是实现IActionResult接口,它的内部会进行内容协商。遍历所有格式化程序找到合适的。选择合适的格式化程序的逻辑类似ASP.NET Web API,基于下面的优先顺序:
- Accept Header(http协议)
- Content-Type header(http协议)
- Selection based on type match(基于类型选择匹配)
2、使用场景
如果是只响应JSON格式,就用JsonResult就可以了。如果响应的格式不确定是Json,可以根据请求头去动态的协商,那就需要用ObjectResult来响应不同格式的。
OkObjectResult是继承自Microsoft.AspNetCore.Mvc.ObjectResult,进行内容协商格式化body,如果协商和格式化成功返回Microsoft.AspNetCore.Http.StatusCodes.Status200OK。
ObjectResult则是强调返回的内容。