java jersey dto对象_jersey json post没有dto

下面的代码起作用

@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.

[对于[javax.W.rs.C.E.ReaveCopy.TrimBel.Paas.ApCyr.MealCsC采集器.Real.MICICSRESoal.PodeMeCICsDATA(Java.Lang.Stand,java. Lang.Stand)的参数在索引1中找到的.Index=HypPode= POST,CopyMyType = [应用程序/JSON],ProducedTypes=[],suspended=false,suspendTimeout=0,suspendTimeoutUnit=毫秒,invocable=invocable{handler=classbasedMethodHandler{handlerClass=class com.trimble.paas.apicloud.metricsCollector.resource.metricsResource,handlerConstructors=[org.glassfish.jersey.server.model.handlerConstructor@定义方法=公共JavaX.WS.R.C.Error COM.Trimab.Paa.ApCuth.MealICScRealth.Realth.MeCICSRealth.PosiTimeCsDATA(Java.Lang.Stand,java. Lang.Stand),参数= [参数=类型JavaLang.Stand,Stase= NULL,Debug值= NULL ],参数[type =类JavaLang]。string,source=apid,defaultvalue=null]],responseType=class javax.ws.rs.core.response},namebindings=[]}']

在Org.GalasFiels.Jelsi.Server应用程序处理程序中。

在Org.GlamasFiels.Sersi.Services处理程序。lambda $初始化1美元(ApplicationHandler .java:316)

在GrasFISH。泽西。内部。错误。过程(错误。Java:316)

在GrasFISH。泽西。内部。错误。过程(错误。Java:298)

在GrasFISH中。

在Org.GalasFiels.Jelsi.Server应用程序处理程序中。

在Org.GalasFiels.泽西.Server . Apple处理程序.(AppultHuffer-Java:282)

在Org.GalasFiels.泽西.servlet .WebCyto.(WebCyp.java:335)

在Org.GalasFiels.Jelsi.servlet .Servlet容器.init(Servlet Base.java:178)

在Org.GalasFiels.Jelsi.servlet .Servlet容器.init(Servlet Base.java:370)

在JavaX.servlet .GuinCyservlet .init(GynServlet,Java:158)

在Org.Apache .Calalina .Corn.StaldRealPr..InServServices(StaldRealPr.java:1144)

在Org.Acache .Calalina .Corn.StaldRealPror.Dead(StaldWraseP.java:789)

在Org.Acache .Calalina .Corn.StaldReAPPorToCor.调用(StaldReAPPorTime.java:133)

在“调用”的核心部分(Java:96)

在Org.Apache .Calalina .AudioCudi.AudioCualBase.CuoKE(AudioCualBase.java:493)

在Org.Acache .Calalina .Corn.StaldHoistPort.CuoKe(StaldHistort.java:140)

在Org.Apache。Calalina。阀门。ErrorRePortVortual.CuoKe(ErrorRePortVortu.java:81)

在Org.Acache .Calalina .Cort.StRealEngEnValue.No调用(StaldEngEnValv.java:87)

在Org.Apache .Calalina .Cornor.CyoToAddio.Service(CyoToAddio.java:342)

在Org.Apache .CyoOut.HTTP11. HTTP11Posial.Service(HTTP11Port.java:800)

在AcG.Apache .CyoOut.ActudioLoop.Poice(ActudioPortLo.java:66)

在Org.Acache .CyoOut.ExtReCorpAccess处理程序(ActuditPort.java:806)

在Org.Apache .Tomcat .UTL.NET.NooEndotSoCoCompultor.Dorun(NooEndoPo.java:1498)

在Org.Apache .Tomcat .UTL.NET .SoComPosiororBase.Run(SoCompComporBase.java:49)

在Java.UTI.Orth.TycRePoLeExtUnor。RunWork(TythPoLeExcel)。Java:1142)

在Java.UTI.Orth.TycRePoLeExtor中$WorkWork.Run(TythPoLeExcel).java:617)

在Org.Apache .Tomcat .UTI.Tyth.TaskTrors$WrPrimGrunnRel.Run(TaskTrim.java:61)

在Java.Lang.Trime.Run(线程.java:745)

你知道我遗漏了什么吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf(Protocol Buffers)是一种轻量级的数据序列化格式,用于结构化数据的存储和交换。它可以将数据对象序列化为二进制格式,也可以将二进制数据反序列化为数据对象。相比于JSON,Protobuf具有更高的性能和更小的数据体积。 在使用Protobuf进行DTO(Data Transfer Object)对象JSON之间的相互转换时,可以按照以下步骤进行: 1. 定义Protobuf消息类型:首先需要定义Protobuf消息类型,即定义数据结构和字段。可以使用Protobuf的语言特定的语法来定义消息类型,例如使用.proto文件定义。 2. 生成代码:根据定义的Protobuf消息类型,使用Protobuf编译器生成对应的代码文件。不同的编程语言可能有不同的编译器,例如对于Java语言可以使用protoc编译器生成Java类。 3. 将DTO对象转换为Protobuf消息:使用生成的代码,将DTO对象转换为对应的Protobuf消息对象。可以通过设置消息对象的字段值来实现。 4. 将Protobuf消息转换为JSON:使用Protobuf提供的序列化方法,将Protobuf消息对象序列化为二进制数据。然后可以使用JSON库将二进制数据转换为JSON格式的字符串。 5. 将JSON转换为Protobuf消息:使用JSON库将JSON格式的字符串解析为二进制数据。然后使用Protobuf提供的反序列化方法,将二进制数据反序列化为Protobuf消息对象。 总结一下,将DTO对象转换为JSON可以分为两步:DTO对象转换为Protobuf消息,Protobuf消息转换为JSON。反之,将JSON转换为DTO对象也可以分为两步:JSON转换为Protobuf消息,Protobuf消息转换为DTO对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值