在后台,我想用ASP开发一个新的API。. NET Core 7和使用控制器,我想使用最佳实践来返回类型的结果,以简化文档,例如。
如果我想从API返回一个类型化的结果,我可以这样做:
[HttpGet()]
public ActionResult<List<Products>> GetAllProducts()
{
var beers = repository.GetAllProducts();
return beers;
}
但是,我的问题是,如果我想返回并使用来自IResult的派生类之一而不是(出于一致性的原因),那么下面的代码将不起作用,因为Results需要两个返回类型。
[HttpGet()]
public Results<Products> GetAllProducts()
{
var beers = repository.GetAllProducts();
return beers;
}
当然,我可以这样做:
[HttpGet()]
public Results<Products,BadRequest> GetAllProducts()
{
var beers = repository.GetAllProducts();
return beers;
}
但这听起来有点傻。
如果我想使用IResult并且我只想返回一种类型,那么推荐的结果类型是什么?或者是ActionResult唯一的选择?
我觉得得到一点更干净的代码和现代,我想坚持基于IResult的类型,而不是与IActionResult混合。
这是你需要的吗
[HttpGet()]
public IResult GetAllProducts()
{
var beers = repository.GetAllProducts();
return Results.Ok(beers);
}