gpt4 book ai didi

c# - 构建 Rest API 请求/响应模型的最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:42 25 4
gpt4 key购买 nike

<分区>

我需要有关构建 Restful API 项目的请求-响应模型的最佳方法的建议。

我有所有 API 响应的基类:

public class BaseResponse
{
public string Id { get; set; }
public string Name { get; set; }
}

如果我有以下方法只返回客户 IdName,并且目前,没有其他字段需要为客户返回...

[HttpGet]
[Route("Customer")]
public Task<IActionResult> GetCustomers()
{
var result = _customerManager.GetCustomers(ModelState);
return ReturnResponse(result, ModelState);
}

...那么我的问题是:对于 GetCustomers 方法和 Manager 类,以下哪项是更好的实现?

1 - 使用 BaseResponse 直接返回我的数据:

public List<BaseResponse> GetCustomers(ModelStateDictionary modelState)
{
return new List<BaseResponse>().Add(
new BaseResponse { id = "1", Name = "Mike" },
new BaseResponse { id = "2", Name = "Tom" }
);
}

或者

2 - 如下所示为 CustomerResponseModel 创建一个新类,并使用它返回我的数据(一开始保持为空)以考虑我不考虑的新字段know yet 可能会在未来添加。

public class CustomerResponseModel : BaseResponse
{

}

public List<CustomerResponseModel> GetCustomers(ModelStateDictionary modelState)
{
return new List<CustomerResponseModel>().Add(
new CustomerResponseModel { id = "1", Name = "Mike" },
new CustomerResponseModel { id = "2", Name = "Tom" }
);
}

我知道这两种方法都没有内存或性能缺点,但我需要知道这种情况下的最佳做法是什么。

第二种方法只有一个已知的缺点:如果我将它应用于用于同一案例的所有项目实体,它会影响服务器端的项目大小,而且这种情况很常见,因为会有太多的空类在我的项目中,它仅继承自 BaseResponse

我需要您从设计和结构的角度为我的项目提供最佳方法的建议,并且想知道它是否存在任何其他缺点。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com