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

时间:2017-12-05 13:11:03

标签: json rest jersey jax-rs spring-rest

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

VendorName\ApplicationName\Exceptions

这里TempRequest是JAXB对象。

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

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

}

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

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

1 个答案:

答案 0 :(得分: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
    // ...
}