REST API响应发生了变化

时间:2016-02-11 11:10:06

标签: java json rest jersey linkedhashmap

我面临一个非常奇怪的问题(至少我认为这是个问题)。我有一个API,它以JSON格式返回一个对象。此对象中有一个linkedHashMap字段。这张地图显示出一些奇怪的行为。当我在将此对象发送到客户端之前记录它时,它具有我想要的格式的数据。但是在客户端,映射的键与记录的键的顺序不同。 以下是代码:

@GET
@Produces(MediaType.APPLICATION_JSON)
public BookingHistoryResponse getBookingHistory(
        @QueryParam("from") int fromId,
        ){

    BookingHistoryRequest request = new BookingHistoryRequest(fromId);
    BookingHistoryResponse response = new BookingHistoryResponse();
    bookingHistoryService.execute(request, response);
    logger.info("before returning the repsonse..");
    logger.info(response);
    Iterator it = response.getSeatDetailsMap().entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pair = (Map.Entry)it.next();
        logger.info(pair.getKey() + " = " + pair.getValue());
    }
    return response;
}

上述代码的响应格式正确。 但是客户端的响应与记录的响应完全不同。 由于没有对此对象进行进一步操作,因此我无法找出为什么地图给出了与记录结果相比的不同结果。 任何见解都将受到高度赞赏。提前谢谢。

0 个答案:

没有答案