我正在调查改装库并评估我是否值得集成到我的项目中。
假设我有这个控制器,它接受POST
带有特定合同的消息:
[Route("api/[controller]")]
[ApiController]
public class KeepAliveController : ControllerBase
{
[HttpPost]
public IActionResult Post(KeepAliveContract keepAliveContract)
{
//
}
}
根据我从refit
文档中了解到的情况,我必须创建一个界面。让我们称之为IKeepAliveService
。它看起来像这样:
public interface IKeepAliveService
{
[Post("api/keepalive")]
Task SendKeepAliveAsync(KeepAliveContract keepAliveContract);
}
PostAttribute
如果我弄乱了签名本身或签名本身中的路由,这种做事方式会导致潜在的运行时错误。
问题
有没有办法从现有的控制器中自动生成这个接口,从而降低错误的风险?