1

我有解决方案,我有多个 webapi 项目,它们通过休息进行通信,所以我想使用 autorest 和 swagger 来生成客户端,autorest 工作正常并创建客户端和对象类,但实际上我不想使用它们,因为我已经有相同的共享项目中的对象,我可以通过不将模型添加到自动生成的客户端项目中来做到这一点,但是每次我重新生成客户端后我都需要在 apiclient 中进行更改,也许有办法使用生成的模型类是“部分的”,因为它们具有相同的名称和命名空间,所以编译器会以某种方式将它们组合起来并像一个一样使用?

4

1 回答 1

1

只需为您的客户创建一个部分类。

例如,您有一个名为 ServiceClient.cs 的自动生成客户端,您只需创建一个 ServiceClient.Partial.cs,您可以在其中放置您自己的自定义逻辑。

namespace Example.APIClients.Service
{
    public partial class ServiceClient
    {
        partial void CustomInitialize()
        {
            SetRetryPolicy(null);
        }

        // Constructor if you need it
        public ServiceClient(...)
        {
            // some code
        }
    }
}

然后,您可以根据需要使用自己的逻辑和自动生成的客户端。

于 2018-09-19T11:02:00.053 回答