因此,我试图允许用户定义一个rest API并部署它,而不必重新启动服务器。本质上,他们应该能够定义端点:/customInfo
,然后列出预期的输入和输出以及应运行的某些命令。命令处理在后面进行。这不是我担心的事情。
根据我所做的任何研究,我发现的唯一方法是使用带有通配符\*
的控制器,如下所示。但这似乎是一种有点过时的方法。任何帮助都是有用的。
这是我从未见过的人尝试过的东西,但是...也许您可以摆弄这样的东西:
具有一个采用“命令”作为路径变量的端点。它可以将“自由格式” Json作为输入,并返回自由格式Json作为输出。下面的示例使用常见的Map
方法。
这样,“命令”路径变量将是客户端定义的,输入和输出完全取决于客户端和后端进程。
@PostMapping("{command}")
public Map<String, Object> runCommand(@PathVariable String command, @RequestBody Map<String, Object> input) {
return yourProcessingService.process(command, input);
}