如何自定义 GET 返回的内容



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

假设我的 GET 在我想返回[{"name":"name"...}]返回StaticText [{"name":"name"...}] StaticText"

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

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

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

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

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"
};
}

最新更新