当前位置: 首页 > 知识库问答 >
问题:

尝试将Bean验证API与Spring MVC集成时出现运行时服务器启动错误

胡云瀚
2023-03-14

我试图将Bean验证api-javax.Validation和hibernate-validator与Spring MVC应用程序集成在一起。我可以看出,当REST控制器方法不使用BindingResult参数时,服务器会正常启动并工作。但是当我在函数签名中使用BindingResult arg时,我会看到如下运行时错误

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.gigsky.usermanagement.restapi.api.UserManagement.createUsers(com.gigsky.usermanagement.restapi.beans.UsersList,org.springframework.validation.BindingResult) throws java.lang.Exception at parameter at index 0
  SEVERE: Method, public javax.ws.rs.core.Response com.gigsky.usermanagement.restapi.api.UserManagement.createUsers(com.gigsky.usermanagement.restapi.beans.UsersList,org.springframework.validation.BindingResult) throws java.lang.Exception, annotated with POST of resource, class com.gigsky.usermanagement.restapi.api.UserManagement, is not recognized as valid resource method.
Oct 8, 2015 11:34:44 PM com.sun.jersey.spi.spring.container.servlet.SpringServlet initiate
SEVERE: Exception occurred when intialization

代码:

@POST
    @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8")
    @Consumes(MediaType.APPLICATION_JSON + ";charset=UTF-8")
    public Response createUsers(@Valid UsersList usersList, BindingResult result) throws Exception {
        if(result.hasErrors()){
            System.out.println("Error");
        }
        else{
            System.out.println("Success");
        }
        userManagementService.createUsers(usersList);
        return Response.status(Response.Status.OK).build();
    }
<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.0.1.Final</version>
        </dependency>
public class UserInfo {
    @JsonProperty
    private String type = "User";
    @JsonProperty
    private String userId;
    @JsonProperty
    @NotNull
    private String firstName;
    @JsonProperty
    private String lastName;
    @JsonProperty
    private String emailId;
    @JsonProperty
    private String password;
    @JsonProperty
    private String location;
    @JsonProperty
    private Address address;
    @JsonProperty
    private String preferredCurrency;
    @JsonProperty
    private String userStatus;
    @JsonProperty
    private String passwordSet;
    @JsonProperty
    private String createdOn;
    @JsonProperty
    private String homePhone;
    @JsonProperty
    private String mobile;
    @JsonProperty
    private String department;
    @JsonProperty
    private List<UserAccountAssociation> list;

.....}

共有1个答案

岳嘉容
2023-03-14

web.xml中的SpringServlet更改为DispatcherServlet帮助我解决了这个问题。

 类似资料:
  • 我最近开始从事一个从github克隆的项目。 每次尝试启动rails服务器时,都会出现以下错误: 我的同事也在做这个项目,启动服务器似乎没有任何问题。他正在运行和我一样版本的ruby,rails和WeBrick。 我已尝试将语法从key:更改为:key= 我已经厌倦了多次完全移除和重新安装rvm、ruby和rails,但都没有成功。我也尝试过运行bundle安装,但没有任何帮助。 有人知道出了什么

  • 基本上我是按照这个指示做的:http://thecodeship.com/deployment/deploy-django-apache-virtualenv-and-mod_wsgi/ 但结果是: 尚未找到任何服务器 请求方法:获取请求URL:http://52.25.226.143/admin/ Django版本:1.5.11异常类型:ServerSelectionTimeoutError异常

  • 我一直在忙着用angularjs前端构建一个REST应用程序,使用MAVEN jersey-quickstart-webapp,使用GLASSFISH WebServer在Eclipse上开发。今天当我开始在项目上做一些开发时,当我尝试在eclipse中启动服务器并部署webapp时,我得到了eclipse错误窗口中显示的以下错误消息: 需要注意的是,我并没有故意更改Eclipse或GlassFi

  • 我试图在我的项目中使用Hibernate验证器,但它不起作用。在以下行: 我得到以下例外情况: 我发现这个问题似乎与我的问题很相似。他将他的解决方案描述为 我想我的问题也是一样的。在http://hibernate.org/validator/documentation/getting-start/it上说: 这会传递地引入对Bean验证API的依赖关系(javax.Validation:vali

  • 试图调用不存在的方法。尝试是从以下位置进行的: 以下方法不存在: 该方法的类javax.el.elutil可从以下位置获得:

  • 我正在intellij上启动一个tomcat服务器(没有部署任何东西),但我得到以下错误。我一直在找它,但没有运气。你能帮帮我吗? 编辑: 应用程序.属性: