java - Spring Boot 中用户定义的休息端点

标签 java spring-boot api web

所以我试图允许用户定义一个 REST API 并部署它,而无需重新启动服务器。本质上,他们应该能够定义端点:/customInfo,然后列出预期的输入和输出以及它应该运行的一些命令。命令处理在后面处理。这不是我担心的事情。

根据我所做的任何研究,我发现的唯一方法是使用带有通配符 \* 的 Controller ,如下所示。但这似乎是一种有点笨拙的方法。任何帮助都会有用。

最佳答案

这是我以前从未见过有人尝试过的事情,但是......也许你可以摆弄这样的事情:

有一个接受“命令”作为路径变量的端点。它可以将“自由格式”Json 作为输入并返回自由格式 Json 作为输出。我下面的示例使用常见的 Map 方法。

这样,“命令”路径变量将是客户端定义的任何内容,并且输入和输出完全取决于客户端和后端进程。

@PostMapping("{command}")
public Map<String, Object> runCommand(@PathVariable String command, @RequestBody Map<String, Object> input) {
     return yourProcessingService.process(command, input);
}

关于java - Spring Boot 中用户定义的休息端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62070406/

相关文章:

java - 如何创建在动态位置使用外部 jar 文件的可运行 jar

java - Android继续循环动画

java - 如何以百分比设置宽度?

java - Spring Cloud Gateway 返回空响应

javascript - 用于我的 HTML 页面 JAVA 编程的经销商域名注册 API

java api来运行Windows批处理程序?

JavaScript MySql 通过 URL 进行多行 INSERT 语句

java - 将数组列表内容添加到给出空文本的 TextView

java - 在 Spring Boot 应用程序上保留 JPA(加上 Jackson)中的 "computed"字段

java - 为什么@RequestBody不需要arg构造函数?