小编Utt*_*eja的帖子

ASP.NET Core 5 返回 JSON 添加 $id 和 $values 属性

我正在使用 ASP.NET Core 5。如下所示,我正在使用System.Text.Json

public IActionResult Index()
{
   var result = GetAllMenuItems(); 
   return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)

我的 JSON 的预期形状是:

[
    {
        "NameEn": "omlet en",
        "MenuId": 258,
        "Categories": [
            {
                "MenuCategoryEn": "Lunch En",
                "Id": 175
            },
            {
                "MenuCategoryEn": "Dinner En",
                "Id": 176
            }
        ],
        "Id": 213
    }
]
Run Code Online (Sandbox Code Playgroud)

但它是$id用随机数生成的,并将实际数据包装在其中$value

{
  $id: "1",
  $values: [
    {
      $id: "2",
      nameEn: "omlet en",
      menuId: 258,
      categories: {
        $id: "3",
        $values: [
          {
            $id: "4",
            menuCategoryEn: "Lunch En",
            id: 175 …
Run Code Online (Sandbox Code Playgroud)

json .net-core asp.net-core asp.net-core-webapi asp.net-core-5.0

12
推荐指数
1
解决办法
3004
查看次数

下载文件请求在服务器上返回 Json 而不是 asp.net web API 中的文件

我正在尝试在 asp.net web Api 中下载 csv 文件。这是我的代码。它在本地工作

    [Route("{name?}")]
    public HttpResponseMessage Get(string name = "DownloadFile")
    {
        name = name.EndsWith(".csv") ? name : $"{name}.csv";
        var stream = new MemoryStream();
        var writer = new StreamWriter(stream);
        writer.Write("Hello, World!");
        writer.Flush();
        stream.Position = 0;

        var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(stream.ToArray())
        };
        result.Content.Headers.Add("x-filename", name);
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = name
        };
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

该文件正在本地主机的浏览器中下载,我在服务器上部署了相同的代码,它在浏览器中返回一个 JSON 而不是下载文件。

JSON 看起来像这样

{
  "version": {
    "major": 1,
    "minor": 1,
    "build": …
Run Code Online (Sandbox Code Playgroud)

c# iis rest asp.net-mvc asp.net-web-api

5
推荐指数
1
解决办法
1824
查看次数