所以我试图允许用户定义一个 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/