我正在撰寫一個 ASP.NET Core API,它應該遵循現有的格式。
回應應始終以 json 中的資料元素開頭
{
"data": {
"batch_id": null,
"created_at": "2019-01-29T16:58:04 00:00",
"current_operation": null,
"description": "This watch has a new name",
"model": {
"brand_id": null,
"created_at": null,
...
}
}
}
我創建了一個Batch包含我們看到的所有屬性的類,并且我的控制器負責在后臺對其進行序列化。
public class Batch
{
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("serial_number")]
public string SerialNumber { get; set; }
[HttpGet("{id}")]
public ActionResult<Batch> Get(string id)
{
...
return batch;
}
有沒有辦法撰寫一些東西,以便每個有效負載都必須以data屬性開頭?
我想避免撰寫一個DataWrapper<T>必須用于每個回應的類。
uj5u.com熱心網友回復:
您可以只使用匿名物件來包裝來自控制器的回應:
[HttpGet("{id}")]
public ActionResult<Batch> Get(string id)
{
...
return Ok(new { data = batch });
}
uj5u.com熱心網友回復:
您可以使用 GenericClass
public class GenericResponseClass<T>{
public T data;
}
然后你可以將你的批處理(或任何其他)類傳遞給 GenericResposneClass 就像
public class Batch
{
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("serial_number")]
public string SerialNumber { get; set; }
}
GenericResponseClass<Batch> response = new GenericResponseClass<Batch>();
Batch batch = new Batch();
batch.Label = "New Label";
batch.SerialNumber = "Serial Number";
response.data = batch;
然后傳遞/序列化您的回應
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/420382.html
標籤:
上一篇:如何生成二維陣列的逐行排列?
