什么是响应结果
响应结果就是,在客户端向服务器发出请求后,服务器根据客户端的请求参数,给出的结果,这就是一个完整的响应结果过程。
响应的结果包含的内容非常多,主要的有 HTTP Status Code,Content-Type,Content 等等,在这里不再一一赘述。
一般情况下,在 .NET MVC 中,如果是 API 接口,默认使用 JsonOutputFormatter 对结果进行格式化。
但是也不排除某些情况下,我们需要对业务进行兼容化的设置,比如部分接口使用 xml,部分接口使用自定义的格式,需求的响应是第一要务。
常见响应结果格式化器
在 .NET(介于官方改名,咱也不叫 Core 了哈) MVC中,有几种内置的常见响应结果格式化器,他们分别是:
0、OutputFormatter(基类)1、TextOutputFormatter(基类)2、StringOutputFormatter3、StreamOutputFormatter4、JsonOutputFormatter5、XmlSerializerOutputFormatter
由于这几种常见的格式化器的存在,我们可以放心的在 .NET MVC 中使用 请求-> 响应 过程,而不必关心他具体的实现。
来自天气预报的示例
默认的响应结果格式json
private static readonly string[] Summaries = new[]{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"};private IEnumerableGetWeatherForecast(){
var rng = new Random();return Enumerable.Range(1, 3).Select(index => new WeatherForecast {
Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }) .ToArray();}[HttpGet]public IEnumerableGet(){
return GetWeatherForecast();}
当我们请求上面的 API 接口,将得到下面的默认输出结果。
[ {
"date": "2020-10-24T17:19:05.4638588+08:00","tempe