[英]How to return values from multiple variable from ReadFirstOrDefaultAsync in c#
[英]How to return multiple values from a C# WebAPI?
我有一個 Web API 具有以下簽名的端點。
[HttpGet]
[Route("api/some-endpoint")]
public IHttpActionResult getAll()
{
...
...
return Ok({ firstList, secondList });
}
現在,我想返回兩個列表變量firstList、secondList。 怎么做?
返回匿名類型; 您所缺少的只是代碼中的new
這個詞:
[HttpGet]
[Route("api/some-endpoint")]
public IHttpActionResult getAll()
{
...
...
return Ok(new { firstList, secondList });
}
要重命名屬性:
[HttpGet]
[Route("api/some-endpoint")]
public IHttpActionResult getAll()
{
...
...
return Ok(new { propertyName1=firstList, propertyName2=secondList });
}
為什么不像其他答案中所提倡的那樣使用元組? 如果您使用 Tuple,您的屬性名稱將固定為 Tuple 屬性的名稱(您最終會得到 JSON,例如{ "Item1": [... ]...
您可以使用system.tuple執行此操作或創建一個新的 class 或類似以下的結構:
public class TheClass
{
public TheClass(List<string> f,List<string> l)
{
firstList = f;
secendList = l;
}
public List<string> firstList;
public List<string> secendList;
}
和
[HttpGet]
[Route("api/some-endpoint")]
public IHttpActionResult getAll()
{
...
...
return new TheClass(firstList, secondList);
}
但是這個 class 必須在客戶端才能接收和使用它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.