如何自定义 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");
...
我希望我的 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");
...