Http调用接口,并通过java类存储

这段代码展示了如何使用Java进行HTTP接口调用。首先,它创建了一个包含请求参数的QueryHotelDetail对象,并计算签名。然后,将这些参数转化为JSON对象,构造HTTP请求URL,并获取响应。最后,解析返回的JSON数据,将酒店详情转换为HotelDetail对象列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板:
public List<HotelDetail> queryHotelDetail(String appKey, long salt, String version,
			String hotelIds, Boolean isNeedImage, Boolean isNeedRooms) throws Exception {
		String sign=md5.encryption(md5.encryption(secretKey+appKey)+salt);
		QueryHotelDetail queryHotelDetail=new QueryHotelDetail();
		queryHotelDetail.setAppKey(appKey);
		queryHotelDetail.setHotelIds(hotelIds);
		queryHotelDetail.setIsNeedImage(isNeedImage);
		queryHotelDetail.setIsNeedRooms(isNeedRooms);
		queryHotelDetail.setSalt(salt);
		queryHotelDetail.setSign(sign);
		queryHotelDetail.setVersion(version);
		JSONObject json=new JSONObject();
		JSONObject member1=new JSONObject(); 
		JSONObject member2=new JSONObject();
		member1.put("appKey", queryHotelDetail.getAppKey());
		member1.put("salt",queryHotelDetail.getSalt());
		member1.put("sign",queryHotelDetail.getSign());
		member1.put("version",queryHotelDetail.getVersion());
		member2.put("hotelIds",queryHotelDetail.getHotelIds());
		member2.put("isNeedImage",queryHotelDetail.getIsNeedImage());
		member2.put("isNeedRooms",queryHotelDetail.getIsNeedRooms());
		json.put("head", member1);
		json.put("data", member2);
		String getURL=queryHotelDetail_URL+"?reqData="+json;
		GetUrl url=new GetUrl();
		JSONObject js;
		String errMsg;
		js = url.getUrl(getURL);
		try {
			errMsg = js.getString("errMsg");
			System.out.println(errMsg);
		} catch (Exception e) {
			e.printStackTrace();
		}
		try {
				String result=js.getString("result");
				JSONObject js2=JSONObject.fromObject(result);
				JSONArray jsonArray=js2.getJSONArray("hotelDetail");
				HotelDetail[] hotelDetail = new HotelDetail[jsonArray.size()];
				List<HotelDetail> hotelDetailList = new ArrayList<HotelDetail>();
				for(int i=0;i<jsonArray.size();i++){ 
					 JSONObject jsonObject = jsonArray.getJSONObject(i);
					 hotelDetail[i] = (HotelDetail) JSONObject.toBean(jsonObject, HotelDetail.class);
					 hotelDetailList.add((HotelDetail)JSONObject.toBean((JSONObject) jsonArray.getJSONObject(i), HotelDetail.class));
					 System.out.print("hotelsId:"+ hotelDetail[i].getHotelId());
				}
				return hotelDetailList;
		} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
		
		
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值