繁体   English   中英

通过控制器传递json

[英]Passing json through a controller

我有这个生成 json 的后端系统。 是否可以根据请求通过控制器传递该数据并正确设置 mimetype? 到目前为止我尝试过的一切都试图重新序列化数据,从而转义 json 字符串。

我尝试将[Produces("application/json")]到控制器。 设置响应类型: Response.ContentType = MediaTypeNames.Application.Json; , 返回一个 JsonResult 对象: return new JsonResult(jsonString);

后端没有我可以添加到 JsonSerializerOptions 的 JsonSerializer,我只需要它用于这个特定的控制器。

简而言之:如果我只是将 json 字符串作为 IActionResult 返回而不做任何事情,除了内容类型未设置为 application/json 之外,控制器可以正常工作。 有没有办法在不影响其他任何事情的情况下做到这一点?

我觉得这不应该是一个特殊的用例,但我似乎无法找到答案。

我有同样的需求。 我通过让我的 action 方法返回一个ActionResult来解决它,如下所示:

public ActionResult SomeActionMethod(){

  string json = GetJsonFromBackenend();

   return new ContentResult {
                Content = json,
                ContentType = "application/json; charset=utf-8",
                StatusCode = StatusCodes.Status200OK
            };

}

你可以声明返回类型为IActionResult如果你愿意为@Jurgy提及。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM