当前位置:   article > 正文

使用RestTemplate发送Post请求

resttemplate发送post

参数类

  1. import com.alibaba.fastjson.annotation.JSONField;
  2. import com.DbProperties; //这是自定义的一个类
  3. import lombok.Data;
  4. @Data
  5. public class TrafficCountPredictionParam {
  6. /**
  7. * 请求的唯一标识
  8. */
  9. @JSONField(name = "trace_id")
  10. private String traceId;
  11. @JSONField(name = "db_original")
  12. private DbProperties dbOriginal = new DbProperties();
  13. @JSONField(name = "db_statistics")
  14. private DbProperties dbStatistics = new DbProperties();
  15. /**
  16. * 路段ID,用逗号分隔
  17. */
  18. @JSONField(name = "unit_id")
  19. private String unitId;
  20. /**
  21. * 请求接口地址
  22. */
  23. private String address;
  24. @JSONField(name = "custom_days")
  25. private CustomDays customDays = new CustomDays();
  26. /**
  27. * 当前日期
  28. */
  29. @JSONField(name = "current_date")
  30. private String currentDate;
  31. /**
  32. * 时间类型
  33. */
  34. @JSONField(name = "time_type")
  35. private Integer timeType;
  36. @Data
  37. public static class CustomDays {
  38. /**
  39. * 开始日期
  40. */
  41. @JSONField(name = "start_date")
  42. private String startDate;
  43. /**
  44. * 结束日期
  45. */
  46. @JSONField(name = "end_date")
  47. private String endDate;
  48. }
  49. }

代码实现:

  1. private boolean predictionApi(String url, TrafficCountPredictionParam param, int count) {
  2. boolean flag = true;
  3. if (count == 0) {
  4. RestTemplate template = new RestTemplate();
  5. HttpHeaders headers = new HttpHeaders();
  6. headers.setContentType(MediaType.APPLICATION_JSON);
  7. String content = JSON.toJSONString(param);
  8. HttpEntity<String> request = new HttpEntity<>(content, headers);
  9. final ResponseEntity<String> responseEntity;
  10. try {
  11. responseEntity = template.postForEntity(url, request, String.class);
  12. final String body = responseEntity.getBody();
  13. final JSONObject responseBody = JSON.parseObject(body);
  14. final Object statue = responseBody.get("status");
  15. if (!"OK".equals(statue)) {
  16. flag = false;
  17. }
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. flag = false;
  21. }
  22. }
  23. return flag;
  24. }

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号