如何解决通过控制器传递json
我有一个生成json的后端系统。是否可以根据要求通过控制器传递数据并正确设置mimetype?到目前为止,我尝试的所有操作都尝试重新序列化数据,从而转义json字符串。
我尝试将[Produces("application/json")]
添加到控制器。设置响应类型:Response.ContentType = MediaTypeNames.Application.Json;
,返回一个JsonResult对象:return new JsonResult(jsonString);
后端没有JsonSerializer,我可以将其添加到JsonSerializerOptions中,我只需要此特定控制器即可。
简而言之:如果我只是将json字符串作为IActionResult返回而没有做任何事情,则控制器将工作,除了content-type未被设置为application / json。有什么方法可以做到而又不影响其他任何事情吗?
我觉得这不应该是一个特殊的用例,但我似乎找不到答案。
解决方法
我也有同样的需求。我通过让我的操作方法像这样返回ActionResult
来解决了这个问题:
public ActionResult SomeActionMethod(){
string json = GetJsonFromBackenend();
return new ContentResult {
Content = json,ContentType = "application/json; charset=utf-8",StatusCode = StatusCodes.Status200OK
};
}
如果您愿意使用@Jurgy,则可以将返回类型声明为IActionResult
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。