问下 .net core mvc return ok(model) 和new JsonResult

2019-12-24 10:07发布

问题:

.net core mvc return ok(model) 和new JsonResult(model);区别是什么啊? 我返回的都是一样的

回答1:

如果 model 是一个对象,Ok(model)Json(model) 的效果一样,都会响应序列化后的 json 字符串,content type 都是 application/json; charset=utf-8

如果 model 是一个字符串,比如是 var model = "Hello World";

  • Ok(model) 响应的内容是 Hello World ,content type 是 Content-Type: text/plain; charset=utf-8
  • Json(model) 响应的内容是 "Hello World"(因 json 序列化而多了双引号),content type 是 application/json; charset=utf-8


回答2:

Ok 支持内容协商功能,JsonResult 不支持,只能让结果以 JSON 格式输出。