restTemplate发送携带header参数的get和post请求demo

淩亂°似流年 2023-07-20 05:34 120阅读 0赞

文章目录

  • service
  • controller测试

service

  1. package io.wz.service;
  2. import com.google.gson.Gson;
  3. import io.wz.pojo.req.guest.GuestInfo;
  4. import io.wz.pojo.req.guest.GuestRecord;
  5. import io.wz.pojo.resp.guest.GuestResp;
  6. import io.wz.pojo.resp.guest.GuestTokenResp;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.http.HttpEntity;
  10. import org.springframework.http.HttpHeaders;
  11. import org.springframework.http.HttpMethod;
  12. import org.springframework.http.ResponseEntity;
  13. import org.springframework.scheduling.annotation.Async;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.web.client.RestTemplate;
  16. /** * 推送数据 */
  17. @Service
  18. public class GuestMachineService {
  19. @Value("${guest.url}")
  20. private String url;
  21. @Value("${guest.loginName}")
  22. private String loginName;
  23. @Value("${guest.loginPassWord}")
  24. private String loginPassWord;
  25. private final String PARAM_TOKEN = "token";
  26. private final String PARAM_SOURCE = "source";
  27. private final String VALUE_SOURCE = "fk_server";
  28. @Autowired
  29. private RestTemplate restTemplate;
  30. /** * 获取token * https://blog.csdn.net/qq_26702601/article/details/91864118 */
  31. public GuestTokenResp getAccessToken() {
  32. HttpHeaders headers = new HttpHeaders();
  33. headers.add(PARAM_SOURCE, VALUE_SOURCE);
  34. HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);
  35. ResponseEntity<GuestTokenResp> exchange = restTemplate.exchange(
  36. url + "/user/login/" + loginName + "/" + loginPassWord,
  37. HttpMethod.GET, requestEntity, GuestTokenResp.class);
  38. return exchange.getBody();
  39. }
  40. /** * 更新或新增访客信息 * https://segmentfault.com/a/1190000021123356 */
  41. public GuestResp changeGusetInfo(GuestInfo guestInfo) {
  42. HttpHeaders headers = new HttpHeaders();
  43. System.out.println("token=="+getAccessToken().getData().getToken());
  44. headers.add(PARAM_TOKEN, getAccessToken().getData().getToken());
  45. headers.add(PARAM_SOURCE, VALUE_SOURCE);
  46. System.out.println(new Gson().toJson(guestInfo));
  47. HttpEntity<GuestInfo> requestEntity = new HttpEntity<>(guestInfo, headers);
  48. GuestResp exchange = restTemplate.postForObject(url + "/fk/change/fkxx", requestEntity, GuestResp.class);
  49. return exchange;
  50. }
  51. /** * 新增访客访问记录 * @param guestRecord * @return */
  52. public GuestResp changeGusetRecord( GuestRecord guestRecord) {
  53. HttpHeaders headers = new HttpHeaders();
  54. System.out.println("token=="+getAccessToken().getData().getToken());
  55. headers.add(PARAM_TOKEN, getAccessToken().getData().getToken());
  56. headers.add(PARAM_SOURCE, VALUE_SOURCE);
  57. System.out.println(new Gson().toJson(guestRecord));
  58. HttpEntity<GuestRecord> requestEntity = new HttpEntity<>(guestRecord, headers);
  59. GuestResp exchange = restTemplate.postForObject(url + "/fk/insert/fkd/cljl", requestEntity, GuestResp.class);
  60. return exchange;
  61. }
  62. }

controller测试

  1. import io.wz.pojo.req.guest.GuestInfo;
  2. import io.wz.pojo.req.guest.GuestRecord;
  3. import io.wz.pojo.resp.guest.GuestResp;
  4. import io.wz.pojo.resp.guest.GuestTokenResp;
  5. import io.wz.service.GuestMachineService;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.*;
  8. /** * api接口模拟调用 */
  9. @RequestMapping("/guestMachine")
  10. @RestController
  11. public class GusetMachineController {
  12. @Autowired
  13. private GuestMachineService guestMachineService;
  14. @GetMapping("/getToken")
  15. public GuestTokenResp getToken(){
  16. return guestMachineService.getAccessToken();
  17. }
  18. @PostMapping("/changeGusetInfo")
  19. public GuestResp changeGusetInfo(@RequestBody GuestInfo guestInfo){
  20. return guestMachineService.changeGusetInfo(guestInfo);
  21. }
  22. @PostMapping("/changeGusetRecord")
  23. public GuestResp changeGusetRecord(@RequestBody GuestRecord guestRecord){
  24. return guestMachineService.changeGusetRecord(guestRecord);
  25. }
  26. }

个人微信公众号:
搜索: 怒放de每一天
不定时推送相关文章,期待和大家一起成长!!
在这里插入图片描述


发表评论

表情:
评论列表 (有 0 条评论,120人围观)

还没有评论,来说两句吧...

相关阅读