Джерси JSON POST без DTO - PullRequest
       9

Джерси JSON POST без DTO

0 голосов
/ 24 сентября 2018

Приведенный ниже код работает

@POST
@Path("/{apiId}")
@Consumes(MediaType.APPLICATION_JSON)
public Response postMetricsData(String metricsData) {
    System.out.println(metricsData);
    return Response.ok().build();
}

Приведенный ниже код выдает ошибку

@POST
@Path("/{apiId}")
@Consumes(MediaType.APPLICATION_JSON)
public Response postMetricsData(String metricsData, @PathParam("apiId") String apiId) {
    System.out.println(metricsData);
    return Response.ok().build();
}

Получение ниже исключения

rg.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.

[[FATAL] Нет источника впрысканайдено для параметра типа public javax.ws.rs.core.Response com.trimble.paas.apicloud.metricscollector.resource.MetricsResource.postMetricsData (java.lang.String, java.lang.String) в индексе 1;source = 'ResourceMethod {httpMethod = POST, потребляемыйTypes = [application / json], продукцииTypes = [], приостановлено = ложь, suspendTimeout = 0, suspendTimeoutUnit = MILLISECONDS, invocable = Invocable {handler = ClassBasedMethodHandler {handlerClasspa. class.apicloud.metricscollector.resource.MetricsResource, handlerConstructors = [org.glassfish.jersey.server.model.HandlerConstructor@59916e0f]}, DefinitionMethod = public javax.ws.rs.core.Response com.trimble.paasmet.scoric .scol.resource.MetricsResource.postMetricsData (java.lang.String, java.lang.String), параметры = [Параметр [тип = класс java.lang.String, source = null, defaultValue = null], Параметр [тип = класс java.lang.String, source = apiId, defaultValue = null]], responseType = class javax.ws.rs.core.Response}, nameBindings = []} '] в org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java: 394) в org.glassfish.jersey.server.ApplicationHandler.lambda $ initialize $ 1 (ApplicationHandler.java:316) в org.glassfish.jersey.internal.Errors.process (Errors.java:316) в org.glassfish.jersey.internal.Errors.process (Errors.java:298) в org.glassfish.jersey.internal.Errors.processWithException (Errors.java:256)в org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:315) в org.glassfish.jersey.server.ApplicationHandler. (ApplicationHandler.java:282) в org.glassfish.jersey.servlet.WebComponent. (WebComponent..java: 335) в org.glassfish.jersey.servlet.ServletContainer.init (ServletContainer.java:178) в org.glassfish.jersey.servlet.ServletContainer.init (ServletContainer.java:370) в javax.servlet.Genericerv.init (GenericServlet.java:158) в org.apache.catalina.core.StandardWrapper.initServlet (StandardWrapper.java:1144) в org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:78ap) в org.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:133) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) в org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:493) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:140) в org.apache.catalina.valves.ErrorReportValve.avalveв org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:87) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:342) в org.apache.coyote.hserpcessorH(Http11Processor.java:800) в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:806) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1498) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor. ThreadJava: 1142) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.lang.Thread.run (Thread.java:745)

Есть идеи о том, чего мне не хватает?

1 Ответ

0 голосов
/ 03 января 2019

Проверьте импорт @PathParam.Попробуйте использовать

 import javax.ws.rd;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...