小编Lee*_*aas的帖子

组织 OpenAPI 代码生成的客户端的最佳方式是什么?

对于内部客户端,OpenAPI 客户端代码生成允许 2 个用例:

  1. 服务客户端:生成的客户端代码与特定服务的 openAPI 绑定,涵盖该服务的所有 API,并由处理服务代码的同一开发人员控制和维护(根据生成的代码的需要),并且没有代码重复

  2. 依赖于使用情况的客户端:每个用例将根据该特定用例使用的端点生成自己的客户端。您获得较小的客户端,仅覆盖正在使用的端点 - 负责维护这些客户端的人员与负责特定用例的人员是同一个人,并且不同生成的客户端之间可能存在代码重复

如果我比较这两个选项,我会看到以下内容:

+-----------------------+------------------------------+------------------------+
| Criteria              | service based clients        | use-case based clients |
+-----------------------+------------------------------+------------------------+
| Ownership             | Service maintainers          | use-case maintainers   |
| Code duplication      | No duplication               | a lot of duplications  |
| Clients sependancy    | Dependancy exists            | No dependancy          |
| Client code stability | When upgrading client        | When updating client   |
| Base url              | Single per client            | Per endpoint (group) …
Run Code Online (Sandbox Code Playgroud)

openapi

5
推荐指数
0
解决办法
111
查看次数

为什么超类的扩展方法需要这个?

以下是显示奇怪性的示例代码:(基于注释修复的代码)

public class C{}
public static class E {
  public static void Foo(this C o) { }
 }
class D:C {
  void test() {
//  Foo(); // will not compile
    this.Foo(); // compile ok
  }
}
Run Code Online (Sandbox Code Playgroud)

在自然场景中,C类将是一个我无法访问其源代码的类

任何人都知道为什么这个奇怪的要求使用this关键字?

c#

2
推荐指数
1
解决办法
115
查看次数

标签 统计

c# ×1

openapi ×1