首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无DTO的Jersey json帖子

无DTO的Jersey json帖子
EN

Stack Overflow用户
提问于 2018-09-24 18:32:10
回答 1查看 174关注 0票数 1

下面的代码可以工作

代码语言:javascript
复制
@POST
@Path("/{apiId}")
@Consumes(MediaType.APPLICATION_JSON)
public Response postMetricsData(String metricsData) {
    System.out.println(metricsData);
    return Response.ok().build();
}

下面的代码抛出了错误

代码语言:javascript
复制
@POST
@Path("/{apiId}")
@Consumes(MediaType.APPLICATION_JSON)
public Response postMetricsData(String metricsData, @PathParam("apiId") String apiId) {
    System.out.println(metricsData);
    return Response.ok().build();
}

在异常下获取

代码语言:javascript
复制
rg.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.

[对于public com.trimble.paas.apicloud.metricscollector.resource.MetricsResource.postMetricsData(java.lang.String,java.lang.String类型的参数,在索引%1处找不到致命的注入源)。com.trimble.paas.apicloud.metricscollector.resource.MetricsResource.postMetricsData(java.lang.String,=‘ResourceMethod{httpMethod=POST,producedTypes=#en0#=com.trimble.paas.apicloud.metricscollector.resource.MetricsResource.postMetricsData(java.lang.String,/json,producedTypes=[],suspended=false,suspendTimeout=0,suspendTimeoutUnit=MILLISECONDS,invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class com.trimble.paas.apicloud.metricscollector.resource.MetricsResource,handlerConstructors=org.glassfish.jersey.server.model.HandlerConstructor@59916e0f},com.trimble.paas.apicloud.metricscollector.resource.MetricsResource.postMetricsData(java.lang.String,httpMethod=POST producedTypes= java.lang.String),parameters=[ type=class java.lang.String,source=null,defaultValue=null,type=class java.lang.String,source=apiId,defaultValue=null],},org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:394) at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:316) at org.glassfish.jersey.internal.Errors.process(Errors.java:316) at org.glassfish.jersey.internal.Errors.process(Errors.java:298) at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:256) at org.glassfish.jersey的nameBindings=[]}']。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.GenericServlet.init(GenericServlet.java:158)在org.apache.catalina。core.StandardWrapper.initServlet(StandardWrapper.java:1144) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)在org.apache.coyote.http11.Http11Processor.service(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) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)

知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2019-01-03 22:25:02

您是否可以检查@PathParam的导入。尝试使用导入javax.ws.rd;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52477403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档