Java JSON和XML的不同返回日期

Java JSON和XML的不同返回日期,java,json,xml,api,postman,Java,Json,Xml,Api,Postman,我正在使用Postman模拟我在java到MYSQL数据库中创建的方法的API调用 当我以JSON格式发送GET请求时,结果很好。但是,对于XML格式的相同方法,日期不会返回。逻辑和路径查询似乎很好,因为我能够获得JSON格式的完整列表。但是我错过了XML中的日期 如果有人能指出我遗漏了什么,我将不胜感激。如果你需要任何进一步的信息,请告诉我 这是不同退货的快照 模型 PickUpLocationModel @XmlRootElement(name = "pickuplocation")

我正在使用Postman模拟我在java到MYSQL数据库中创建的方法的API调用

当我以JSON格式发送GET请求时,结果很好。但是,对于XML格式的相同方法,日期不会返回。逻辑和路径查询似乎很好,因为我能够获得JSON格式的完整列表。但是我错过了XML中的日期

如果有人能指出我遗漏了什么,我将不胜感激。如果你需要任何进一步的信息,请告诉我

这是不同退货的快照

模型 PickUpLocationModel

 @XmlRootElement(name = "pickuplocation")
    public class PickUpLocationModel {
        @XmlElement(name = "id")
        public int Id;
        @XmlElement(name = "userId")
        public int UserId;
        @XmlElement(name = "lattitude")
        public double Lattitude;
        @XmlElement(name = "longitude")
        public double Longitude;
        @XmlElement(name = "locationame")
        public String LocationName;
        @XmlElement(name = "dateadded")
        public Date DateAdded;
        @XmlElement(name = "category")
        public String Category;

    }
PagedPickupLocationModel

@XmlRootElement(name  = "pickuplocations")
public class PagedPickUpLocationsModel {
    @XmlElement(name = "data")
    public ArrayList<PickUpLocationModel> Data;
    @XmlElement(name = "next")
    public String Next;
    @XmlElement(name = "prev")
    public String Prev;

    public PagedPickUpLocationsModel() {
        Data = new ArrayList<PickUpLocationModel>();
        Next = "";
        Prev = "";
    }
}
@XmlRootElement(name=“pickuplocations”)
公共类PagedPickupLocationModel{
@xmlement(name=“data”)
公共阵列列表数据;
@xmlement(name=“next”)
公共字符串下一步;
@xmlement(name=“prev”)
公共字符串Prev;
公共页面dpickuplocationsmodel(){
数据=新的ArrayList();
Next=“”;
Prev=“”;
}
}
路径

@GET
@路径(“{user_id}/pickuplocations”)
@产生({“application/json;qs=0.9”,“application/xml;qs=0.1”})
公共响应GetAllByUser(@PathParam(“user_id”)int userId,
@QueryParam(“第页”)内部页码,
@QueryParam(“pagesize”)int pagesize){
PagedPickUpLocationsModel locations=pickUpLocationService.GetPickUpLocationsByUser(用户ID、页码、页面大小);
返回Response.ok();
}
逻辑

public ArrayList GetPickUpLocationsByUser(int-user\u-id,int-page,int-pageSize){
ArrayList位置=新的ArrayList();
int startFrom=(第1页)*页面大小;
Connection conn=DataConnection.GetConnection();
试一试{
PreparedStatement stmt=conn.prepareStatement(“从用户id=?限制?,?的用户拾取位置选择*”;
stmt.setInt(1,用户id);
stmt.setInt(2,从开始);
stmt.setInt(3,页面大小);
ResultSet result=stmt.executeQuery();
while(result.next()){
PickUpLocationModel位置=新的PickUpLocationModel();
location.Id=result.getInt(“Id”);
location.UserId=result.getInt(“用户id”);
location.latitude=result.getDouble(“latitude”);
location.Longitude=result.getDouble(“经度”);
location.LocationName=result.getString(“location_name”);
location.DateAdded=result.getDate(“date_added”);
location.Category=result.getString(“Category”);
位置。添加(位置);
}
}捕获(例外e){
e、 printStackTrace();
}
返回地点;
}

我不确定,但可能需要为DateAdded字段指定XmlAdapter@MikhailBaksheev是的,你是对的!不知道为什么,但JAXB不支持java.sql.Date的XML。谢谢
@GET
    @Path("{user_id}/pickuplocations")
    @Produces({"application/json;qs=0.9","application/xml;qs=0.1"}) 
    public Response GetAllByUser(@PathParam("user_id") int userId, 
            @QueryParam("page") int pageNumber, 
            @QueryParam("pagesize") int pageSize) {

        PagedPickUpLocationsModel locations = pickUpLocationService.GetPickUpLocationsByUser(userId, pageNumber, pageSize);

        return Response.ok().entity(new GenericEntity<PagedPickUpLocationsModel>(locations) {}).build();
    }
public ArrayList<PickUpLocationModel> GetPickUpLocationsByUser(int user_id, int page, int pageSize) {
        ArrayList<PickUpLocationModel> locations = new ArrayList<PickUpLocationModel>();

        int startFrom = (page - 1) * pageSize;

        Connection conn = DataConnection.GetConnection();

        try {
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM user_pickup_locations WHERE user_id = ? LIMIT ?,?");
            stmt.setInt(1, user_id);
            stmt.setInt(2, startFrom);
            stmt.setInt(3, pageSize);

            ResultSet result = stmt.executeQuery();

            while(result.next()) {
                PickUpLocationModel location = new PickUpLocationModel();
                location.Id = result.getInt("id");
                location.UserId = result.getInt("user_id");
                location.Lattitude = result.getDouble("lattitude");
                location.Longitude = result.getDouble("longitude");
                location.LocationName = result.getString("location_name");
                location.DateAdded = result.getDate("date_added");
                location.Category = result.getString("category");

                locations.add(location);
            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return locations;
    }