jersey.server.model.ModelValidationException

jersey.server.model.ModelValidationException

您好,我的这段代码有问题! 我收到此错误: 请帮忙!

org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization. [[FATAL] A resource model has ambiguous (sub-)resource method for HTTP method GET and input mime-types as defined by"@Consumes" and "@Produces" annotations at Java methods public java.lang.String jersey.JerseyTesting.getName() and public java.lang.String jersey.JerseyTesting.getPassword() at matching regular expression /jerseytesting. These two methods produces and consumes exactly the same mime-types and therefore their invocation as a resource methods will always fail.; source='org.glassfish.jersey.server.model.RuntimeResource@4d73a7a'] org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:555) org.glassfish.jersey.server.ApplicationHandler.access0(ApplicationHandler.java:184) org.glassfish.jersey.server.ApplicationHandler.call(ApplicationHandler.java:350) org.glassfish.jersey.server.ApplicationHandler.call(ApplicationHandler.java:347) org.glassfish.jersey.internal.Errors.process(Errors.java:315) org.glassfish.jersey.internal.Errors.process(Errors.java:297) org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255) org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:347) org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:392) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.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(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source)

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] A resource model has ambiguous (sub-)resource method for HTTP method GET and input mime-types as defined by"@Consumes" and "@Produces" annotations at Java methods public java.lang.String jersey.JerseyTesting.getName() and public java.lang.String jersey.JerseyTesting.getPassword() at matching regular expression /jerseytesting. These two methods produces and consumes exactly the same mime-types and therefore their invocation as a resource methods will always fail.;

你的资源方法不明确

@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;
}