如何命名控制器类的c#方法,它是一个Web API

本文关键字:一个 API Web 控制器 何命名 方法 | 更新日期: 2023-09-27 18:12:03

REST API处理资源,因此实践是将API命名为名词(资源的名称),Http方法(动词)应该反映API执行的操作。我试图理解这是否也适用于命名控制器类的方法。我正在使用Web API 2,这将是自托管使用OWIN。c#中控制器方法的命名约定应该是什么?

例如,如果我需要通过Id获取产品,我理解uri看起来像/api/products/Id。控制器方法呢?方法名是否应该包含动词?

Route("api/products/{id}")]
[HttpGet]
public IEnumerable<Product> FindProduct(string id) { ... }

如何命名控制器类的c#方法,它是一个Web API

我认为"GetProduct"在这里是最明显的。FindProduct听起来像"更多工作",例如,如果您有ID以外的标准。你的看法可能会有所不同——这只是我的看法。

一般来说,您可能希望像命名其他方法一样命名这些方法。我不确定我能合理地想到任何不使用动词的方法名的好用途-通常在名称的第一个。方法,就其本质而言,是做事情的,如果没有动词,你很难把它们称为有意义的东西。编辑:also To, As等