休息客户端的元语言
Meta language for rest client
我们有一个后端公开了 50-60 个 Rest APIs。这些将主要由独立应用程序使用,例如 Python 脚本或 Java 程序。
我们遇到的一个问题是 API 处于非常精细的级别,它们与业务用例不匹配。例如,要执行业务用例,最终用户可能需要调用 4 到 5 APIs.
我想开发一个 DSL 或一些解决方案,以帮助提供高级抽象,使最终用户能够轻松实现业务用例。这可以是独立的抽象,也可以是 Python 的 "library" 或某种更高级的编程语言。
对于组合多个 Rest API 调用以创建业务用例事务的特定目的,有哪些方法可用。
谢谢
我认为这是个好主意。要确定您可以构建哪种解决方案,您应该考虑不同的方面:
- 谁会编写这些 API 组合?
- 什么样的工具支持比较合适?我的意思是验证、语法突出显示、自动完成、类型系统检查等
- 投入多少时间才有意义?
根据这些答案,您可以考虑不同的选择。最简单的一种是使用 ANTLR 构建 DSL。你得到一个解析器,然后你构建一些程序来处理 AST 并生成代码来调用 APIs。您的用户将只需要在不支持的文本编辑器中编辑这些程序。这样做的好处是降低了实施成本,您的用户可以使用简单的文本编辑器编写这些程序。
或者,您可以使用 Xtext 或 Jetbrains MPS 等语言 Workbench 为您的语言构建一些特定的编辑器,并为您的用户提供更好的编辑体验。
我们有一个后端公开了 50-60 个 Rest APIs。这些将主要由独立应用程序使用,例如 Python 脚本或 Java 程序。
我们遇到的一个问题是 API 处于非常精细的级别,它们与业务用例不匹配。例如,要执行业务用例,最终用户可能需要调用 4 到 5 APIs.
我想开发一个 DSL 或一些解决方案,以帮助提供高级抽象,使最终用户能够轻松实现业务用例。这可以是独立的抽象,也可以是 Python 的 "library" 或某种更高级的编程语言。
对于组合多个 Rest API 调用以创建业务用例事务的特定目的,有哪些方法可用。
谢谢
我认为这是个好主意。要确定您可以构建哪种解决方案,您应该考虑不同的方面:
- 谁会编写这些 API 组合?
- 什么样的工具支持比较合适?我的意思是验证、语法突出显示、自动完成、类型系统检查等
- 投入多少时间才有意义?
根据这些答案,您可以考虑不同的选择。最简单的一种是使用 ANTLR 构建 DSL。你得到一个解析器,然后你构建一些程序来处理 AST 并生成代码来调用 APIs。您的用户将只需要在不支持的文本编辑器中编辑这些程序。这样做的好处是降低了实施成本,您的用户可以使用简单的文本编辑器编写这些程序。
或者,您可以使用 Xtext 或 Jetbrains MPS 等语言 Workbench 为您的语言构建一些特定的编辑器,并为您的用户提供更好的编辑体验。