我试图将一个参数传递给我的@RESTController-Spring Boot类。
在@POSTMapping方法中,我想使用自定义Java类的方法来处理接收到的正文并返回响应。
Spring应用程序在应用程序中启动。Java语言控制器对象似乎是隐式创建的。
我已经尝试将构造函数添加到我的RESTController类中。但是我找不到用参数调用该构造函数的方法。
// Application.java
public static void main (String[] args) {
SpringApplication.run(Application.class, args);
}
//ConnectorService.java
@RestController
public class ConnectorService {
private Solveable solver;
public ConnectorService() {}
public ConnectorService (Solveable solveable) {
this.solver = solveable;
}
@CrossOrigin(origins = "http://localhost:3000")
@PostMapping(path = "/maze")
public Solution Test(@RequestBody Test test) {
return solver.solve(test);
}
}
尽管我可以定义第二个构造函数,但我没有找到任何方法用我的对象调用它。
@RestController遵循与Spring框架中任何其他@Component相同的依赖注入规则。如果您有一个构造函数,Spring将在实例化控制器时尝试“注入”参数。
您需要将依赖项注册为Spring bean。
似乎您对Spring还不熟悉,并且您正从Spring Boot和rest控制器等高级主题开始。请抽出一些时间阅读基本知识。
您可以使用@Request estParam
注释传递参数,如下所示:
@CrossOrigin(origins = "http://localhost:3000")
@PostMapping(path = "/maze")
public Solution Test(@RequestParam("paramName") String param, @RequestBody Test test) {
return solver.solve(test);
}
您可以将其与http请求放在一起:
http://localhost:3000/maze?paramName=someValue
假设您有POST请求,可能有不同的方法来构建此请求,具体取决于您使用的API测试工具。
使用@Request estParam注释传递参数
问题内容: 我有多个调用同一控制器的路由,我想将不同的变量传递给它。 我知道我可以使用“解决”对象: 传递值作为依赖项: 这种方法的问题是,如果其他路线上缺少resolve对象,则我的应用程序崩溃,并且我想传递可选的参数。 有什么方法可以(从路由提供者)将特定的参数传递给Controller? 谢谢 问题答案: 路由: 访问:在控制器中注入$ route,然后使用它
问题内容: 我有一个登录屏幕,我想将登录ID从LoginController传递到MainController,因此我可以访问一些功能来更改密码和其他功能。 我这样加载控制器: Main.fxml绑定到MainController.java。有没有一种方法可以传递所需的用户ID,并在控制器的initialize()方法上对其进行访问? 问题答案: 用FXMLLoader加载控制器后,可以在调用sh
问题内容: 我正在A中使用RUN指令安装rpm 但是,我想将值“ 2.3”作为参数传递。我的RUN指令应类似于: 哪里 问题答案: 您正在寻找和指导。这些是Docker 1.9中的新功能。查看https://docs.docker.com/engine/reference/builder/#arg。这将允许您添加到,然后使用构建。
问题内容: 我想将登录用户单击的sa 列表中的传递给twitter bootstrap 。我正在与 angularjs* 一起使用 grails ,其中数据是通过 angularjs 呈现的。 *** 组态 我的grails视图页面是 我的是 所以,我怎么能传递到? 问题答案: 我尝试如下。 我在 鼓励 按钮上打电话给angularjs控制器, 我设置的从angularjs控制器。 我提供了一个p
问题内容: 我有以下任意JSON对象(字段名称可能会更改)。 -- 我知道我可以像定义具有相同字段名的JSON对象那样定义类,但是我希望控制器接受具有不同字段名的任意JSON对象。 问题答案: 如果您想将自定义JSON对象传递给MVC操作,则可以使用此解决方案,它的工作原理很吸引人。 该解决方案的真正好处是,您不需要为每个参数组合定义一个新类,并且除此之外,您可以轻松地将对象转换为其原始类型。 更
问题内容: 我需要将两个参数传递并接收到要转换为使用ui-router的状态。 例如使用下面的链接将状态转换为with 和参数: 控制器中的接收和值: 我得到了在控制器中。 有人可以帮助我了解如何完成它吗? 编辑: 问题答案: 我创建了一个示例来说明如何操作。更新的定义将是: 这将是控制器: 我们可以看到,状态状态现在的url定义为: 这意味着url中的参数应为 这两个链接将正确地将参数传递给控制