通过控制器传递 json

Passing json through a controller

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

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

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

简而言之:如果我只是 return 将 json 字符串作为 IActionResult 而不执行任何操作,除了内容类型未设置为 application/json.有什么办法可以在不影响其他任何事情的情况下做到这一点吗?

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

我也有同样的需求。我通过让我的操作方法 return 和 ActionResult 像这样解决了它:

public ActionResult SomeActionMethod(){

  string json = GetJsonFromBackenend();

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

}

如果您喜欢 @Jurgy 提到的,您可以将 return 类型声明为 IActionResult