首页 文章

自定义媒体类型消费休息呼叫后操作

提问于
浏览
0

需要消费如下的休息服务 . 狡猾的客户

@POST
@Produces("application/vnd.app.mail-service+json")
@Consumes("application/vnd.app.mail-service+json")
public TempResponse submit(TempRequest request) {

}

这里TempRequest是JAXB对象 .

从javascript使用服务 . 已将Accept和Content-Type设置为“application / vnd.app.mail-service json”并发送json请求

{
  "TempRequest" :{
       "TempR1" : {
          "id" : "1212",
          "name" : "app",
        }
  }
}

在提交请求时,服务应用程序中收到的请求主体为空,如果我在两个消耗中尝试使用“xml”并生成和更改内容类型,则请求主体不为空 .

使用Jersy-cleint和jax-rs部署在spring 4.3.7应用程序中使用jacson-core和asl - 1.19.3

1 回答

  • 0

    我不确定你为什么使用 application/vnd.app.mail-service+json 而不是 application/json .

    同样需要改为

    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    

    我希望,你在 TempRequest 类中有类似的变化,这是一个JAXB类 .

    @XmlRootElement(name="TempRequest")
    @XmlAccessorType(XmlAccessType.FIELD)
    public class TempRequest {
    
        @XmlElement(name="TempR1") 
        private TempR1 temp;
    
        public TempRequest() {}
    
        // Getter and setter methods
        // ...
    }
    

相关问题