我有看起来像这样的RestController:
@RestController
@RequestMapping("/api")
public class SimulationController {
@Autowired
private SimulationRepository simulationRepository;
@PostMapping("/simulations")
public Simulation createSimulation(@Valid @RequestBody Simulation simulation){
simulationRepository.save(simulation);
return simulation;
}
}
我想知道如何将模拟对象传递给其他Controller,后者可以处理数据并将其保存到其他存储库。例如,它可以如下所示:
@PostMapping("/simulations")
public Simulation createSimulation(@Valid @RequestBody Simulation simulation){
simulationRepository.save(simulation);
SimulationProcess simulationProcess = new SimulationProcess(simulation);
simulationProcess.simulate();
return simulation;
}
@Controller
public class SimulationProcess {
private Simulation simulation;
@Autowired
private SecondRepository secondRepository;
public SimulationProcess(Simulation simulation) {
this.simulation = simulation;
}
public void simulate(){
// process data from this.simulation
secondRepository.save(new Second(...));
}
}
但我知道这种做法是不允许的。有什么办法可以做到这一点?
我认为你可以在你的SimulationProcess类中使用一个@Service而不是@Controller,你可以把它注入到你的第一个控制器中使用,但是你不能把请求映射到一个Service(我认为)。
@RestController
@RequestMapping("/api")
public class SimulationController {
@Autowired
private SimulationRepository simulationRepository;
@Autowired
private SimulationProcess simulationProcess;
@PostMapping("/simulations")
public Simulation createSimulation(@Valid @RequestBody Simulation simulation){
simulationRepository.save(simulation);
simulationProcess.simulate(simulation);
return simulation;
}
}
@Service
public class SimulationProcess {
@Autowired
private SecondRepository secondRepository;
public void simulate(Simulation simulation){
// process data from this.simulation
secondRepository.save(simulation);
}
}
我希望它有帮助。对不起,我犯了任何错误,英语不是我的第一语言:D
我是新来的Spring应用程序。我试图创建小Spring应用程序,但我得到404错误消息。似乎控制器(indexController)没有开始调用。我累了调试,但它不在那里。 文件位置: /WebContent/WEB-INF/pages/index.html /WebContent/WEB-INF/HelloWebServlet。xml /WebContent/WEB-INF/web.xml H
问题内容: 如何从网页的任何位置(控制器组件外部)调用控制器下定义的函数? 当我按下“获取”按钮时,它可以完美运行。但是我需要从div控制器外部调用它。逻辑是:默认情况下,我的div是隐藏的。在导航菜单中的某个位置,我按了一个按钮,它应该显示()我的div并执行“获取”功能。我该如何实现? 我的网页是: 我的js: 问题答案: 这是从外部调用控制器功能的一种方法: 您的控制器的功能在哪里。 你可以
问题内容: 为什么无法从另一个内部访问其他控制器方法呢? 像这样。 已编译 如果您不能这样做,那为什么不呢?我还应该怎么做… 问题答案: 最近几个小时遇到相同的问题。我使用了api / services文件夹。它可能不完全是您所需要的,但是它是一个选择。
问题内容: 我想在控制器中调用视图方法,但我不知道如何:)我寻求类似的示例,但没有找到它。我可以在这段代码中这样做吗?我是否必须重新构建?我使用javafx和fxml技术(来构建用户界面)。 我的视图文件(它具有gotoRegister()和gotoLogin()方法(我想调用它们)) 我的控制器(在这里我想调用gotoRegister()方法) 我的问题:我可以调用gotoRegister吗?或
所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。
问题内容: 我有一个具有自己的控制器的指令。请参见以下代码: 这旨在成为错误/通知/警告的通知系统。我想做的是从另一个控制器(不是指令控制器)调用此控制器上的函数。当我这样做时,我还希望我的链接函数检测到某些属性已更改并执行了一些动画。 这是一些代码来举例说明我要的内容: 所以打电话时开启指令控制器,链接功能也应该被触发,执行动画。我该如何实现? 问题答案: 这是一个有趣的问题,我开始考虑如何实现