Я играл с AutoRest и Swagger проектов. В моем контроллере веб-API есть метод GetAllAsync
. Когда я создаю клиента для службы, у него есть интерфейс IResourcesOperations
, где Resources
- имя контроллера.
В интерфейсе есть метод GetAllAsyncWithHttpMessagesAsync
. Затем существует статический класс с именем ResourcesOperationsExtensions
, который определяет метод с именем GetAllAsync
и метод GetAllAsyncAsync
. Первый фактически запускает второй новый поток из пула потоков (Task.Factory.StartNew
). Кто-нибудь знает причину этого?
Я обнаружил, что могу украсить свой метод действия контроллера атрибутом
[SwaggerOperation("GetResources")]
Это сгенерирует метод в клиентском классе с именем GetResourcesWithHttpMessagesAsync
и удалит все методы для этого действия веб-API из интерфейса и класса метода расширения.
Теперь мой вопрос: почему эти три метода сгенерированы по умолчанию?
И есть ли способ создать клиента с помощью метода с именем GetResources
(т.е. избавиться от этого суффикса WithHttpMessagesAsync) или даже GetAllAsync
?