如何自定义 GET returns

How can I customize what GET returns

我希望我的 API 到 return 在 return 的 JSON 之前的自定义文本。现在它只有 returns JSON 但我如何在 JSON 之前显示另一个静态文本。

假设我的 GET return 是我这个 [{"name":"name"...}] 我想要 return StaticText [{"name":"name"...}] StaticText"

[HttpGet]
public async Task<ActionResult<IEnumerable<Customers>>> GetCustomers()
{
   return await _context.Customers.ToListAsync();
}

根据我的评论和您的编辑,您可以创建一个 class 来包装您的结果和静态文本:

public class MyResult
{
    public IEnumerable<Customers> Customers {get; set;}
    public string StaticText {get; set;}
}

像这样更改您的控制器代码:

[HttpGet]
public async Task<ActionResult<MyResult>> GetCustomers()
{
    var list = await _context.Customers.ToListAsync();
    return new MyResult()
    {
        Customers = list,
        StaticText = "my static text"
    };
}

您只需将结果字符串化,然后连接您想要的字符串;

...
var yourCustomStr = "I am a custom string!";
var result = await _context.Customers.ToListAsync();
var resultStr = JsonConvert.SerializeObject(result);
return Content($"{resultStr} {yourCustomStr}", "application/json");
...