Я изучаю библиотеку refit и оцениваю, стоит ли мне интегрироваться в мой проект.
Допустим, у меня есть этот контроллер, который принимает сообщение 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
или в самой подписи.
Вопрос
Есть ли способ автоматически генерировать этот интерфейс из существующих контроллеров и, как таковой, уменьшить риск ошибок?