我看到了带有各种参数的Spring MVC控制器处理程序方法。例如:
所以,
Spring控制器方法签名非常灵活,支持多个参数。它们列在文档中。
关于您的第二个问题,没有固定的签名正是出于在编写控制器方法时提供灵活性的原因。
使用HandlerMethodArgumentResolver
接口的实现解析各个参数。例如,如果您的参数带有@PathVariable
参数注释,则其值将由PathVariableMethodArgumentResolver
解析。
从历史上看,在Spring中曾经有过具有固定签名的控制器。例如,它们将实现abstractCommandController
接口。该控制器将实现以下方法:
ModelAndView handle(HttpServletRequest request, HttpServletResponse response,
Object command, BindException errors)
然而,从那时起Spring发生了变化,这种方法在Spring3中被弃用,转而使用基于注释的控制器。
给出了一种Spring-MVC控制器的方法: 如果请求URL中缺少参数,则报告一个错误,例如: JBWeb000068:message Required int参数“param1”不存在 如果省略,则可以执行此操作,但问题是,如果缺少参数,则不会报告任何错误。另一方面,如果包含,则在GET请求中需要一个名为“model”的参数。有没有一种方法可以使模型参数成为强制性的,同时保持相同的请求URL?
问题内容: 我有 我以这种方式传递profileJson: 但是我的profileJson对象具有所有空字段。我应该怎么做才能使spring解析我的json? 问题答案: 这可以通过自定义编辑器完成,该编辑器将JSON转换为UserProfile对象: 这是为了在控制器类中注册编辑器: 这是使用编辑器解组JSONP参数的方法:
我试图将一个参数传递给我的@RESTController-Spring Boot类。 在@POSTMapping方法中,我想使用自定义Java类的方法来处理接收到的正文并返回响应。 Spring应用程序在应用程序中启动。Java语言控制器对象似乎是隐式创建的。 我已经尝试将构造函数添加到我的RESTController类中。但是我找不到用参数调用该构造函数的方法。 尽管我可以定义第二个构造函数,但
我有一个简单的Spring控制器。 当我在查询字符串中传递a=1时,它工作正常。 但是当我通过a=abc时,它给了我这个。 有没有办法让我可以处理这个错误并回复给用户,就像必须是数字一样。 提前感谢。
我正在开发一个使用Spring Boot的项目。我有一个接受GET请求的控制器。 目前,我正在接受对以下类型URL的请求:
我有一个POJO类患者,具有以下特征: 现在从我的Rest控制器中,我只需要在json中发送患者的姓名、电话号码、电子邮件和地址。我希望json输出为 此处仅将检查成功/失败添加为标志。