我在玩AutoRest和Swagger项目。我的 Web API 控制器有一个名为GetAllAsync
. 当我为服务生成客户端时,客户端有一个 interface IResourcesOperations
,其中Resources
是控制器的名称。
该接口有一个名为 的方法GetAllAsyncWithHttpMessagesAsync
。然后是一个名为的静态类ResourcesOperationsExtensions
,它定义了一个名为的方法GetAllAsync
和一个名为的方法GetAllAsyncAsync
。第一个实际上从线程池 ( Task.Factory.StartNew
) 中运行第二个新线程。有谁知道这是什么原因?
我发现我可以用属性装饰我的控制器操作方法
[SwaggerOperation("GetResources")]
这将在调用的客户端类上生成一个方法,GetResourcesWithHttpMessagesAsync
并从接口和扩展方法类中删除此 Web API 操作的所有方法。
现在我的问题是,为什么默认生成这三种方法?
有没有办法用一个名为的方法GetResources
(即去掉那个 WithHttpMessagesAsync 后缀)甚至生成一个客户端GetAllAsync
?