jersey.server.model.ModelValidationException



你好,我对这段代码有一些问题!我收到了以下错误:请帮忙!

org.grassfish.jersey.server.model.ModelValidationException:应用程序初始化期间,应用程序资源模型的验证失败。[[FATAL]对于HTTP方法GET和Java方法public Java.lang.String jersey中的"@Consumes"one_answers"@Produces"注释定义的输入mime类型,资源模型具有不明确的(子)资源方法。JerseyTesting.getName()和公共java.lang.String jersey。匹配正则表达式/JerseyTesting处的JerseyTesting.getPassword()。这两个方法产生和使用完全相同的mime类型,因此它们作为资源方法的调用总是会失败。;源='org.glassfish.jersey.server.model.RuntimeResource@4d73a7a']org.glassfish.jersy.server.ApplicationHandler.initialize(ApplicationHandler.java:555)org.glassfish.jersy.server.ApplicationHandler.access$500(ApplicationHandler.java:184)org.glassfish.jersy.server.ApplicationHandler$3.call(ApplicationHandler.java:350)org.glassfish.jersy.server.ApplicationHandler$3.call(ApplicationHandler.java:347)org.glassfish.jersy.internal.Errors.process(Errors.java:315)org.glassfish.jersy.internal.Errors.process(Errors.java:297)org.glassfish.jersy.internal.Errors.processWithException(Errors.java:255)org.glassfish.jersy.server.ApplicationHandler。(ApplicationHandler。java:347)org.glassfish.jersy.servlet.WebComponent.(WebComponent.java:392)org.glassfish.jersy.servlet.ServletContainer.init(ServletContainer.java:177)org.glassfish.jersy.servlet.ServletContainer.init(ServletContainer.java:369)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.ioke(AuthenticatorBase.java:502)org.apache.catalina.vals.ErrorReportValve.ioke(ErrorReportValve.java:79)org.apache.catalina.vals.AbstractAccessLogValve.ioke(AbstractAccessLogValve.java:616)org.apache.catalina.connecter.CoyoteAdapter.service(Coyotedapter.java:522)org.apache.coyote.http11.AbstractHttp11Processor.procedure(AbstractHttp11Processer.java:1095)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(未知源)

Mine Class:
@Path("/JerseyTesting")
public class JerseyTesting {
String name = "Maks";
String password = "pl000pl";
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getName() {
    return name;
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getPassword() {
    return password;
}
}

Mine web.xml page!
<display-name>JerseyTesting</display-name>  
    <servlet>   
    <servlet-name>JerseyTesting</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>jersey</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>JerseyTesting</servlet-name>
    <url-pattern>/RestTesting</url-pattern> 
    </servlet-mapping>

[[FATAL]对于HTTP方法GET和Java方法public Java.lang.String jersey中的"@Consumes"one_answers"@Produces"注释定义的输入mime类型,资源模型具有不明确的(子)资源方法。JerseyTesting.getName()和公共java.lang.String jersey。匹配正则表达式/JerseyTesting处的JerseyTesting.getPassword()。这两个方法产生和使用完全相同的mime类型,因此它们作为资源方法的调用总是会失败。;

您的资源方法不明确

@GET
@Produces(MediaType.TEXT_PLAIN)
public String getName() {
    return name;
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getPassword() {
    return password;
}

泽西不知道该选哪一个。您需要更改其中一个或两个的路径或介质类型。最有可能的情况是,您想要更改此特定情况的路径。类似的东西

@GET
@Path("/name")
@Produces(MediaType.TEXT_PLAIN)
public String getName() {
    return name;
}
@GET
@Path("/password")
@Produces(MediaType.TEXT_PLAIN)
public String getPassword() {
    return password;
}

最新更新