zoukankan      html  css  js  c++  java
  • 两个项目之间通过 RestTemplate 进行调用

    A服务发出请求:

    @RequestMapping("/jqgridjsondata.json")
    @ResponseBody
    public String jqgridJsonData(HttpServletRequest request) {
    
        String laglms_service_method = "test/gettestentityset";
        String serviceaddr = String.format("%s:%s/%s", LAGLMS_SERVICE_URI, LAGLMS_SERVICE_PORT, laglms_service_method);
    
        return restTemplate.postForObject(serviceaddr, requestConvert(request), String.class);
    }
    
    /**
     * 转换请求以适用于rest template.
     *
     * @param request http sevlet request.
     * @return multivaluemap.
     */
    private MultiValueMap<String, Object> requestConvert(HttpServletRequest request) {
        MultiValueMap<String, Object> parameterMap = new LinkedMultiValueMap<>();
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/x-www-form-urlencoded");
        HttpEntity<MultiValueMap<String, Object>> r = new HttpEntity<>(parameterMap, headers);
        for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
            parameterMap.add(entry.getKey(), entry.getValue()[0]);
        }
        return parameterMap;
    }
    

    B服务接收:

    package com.thunisoft.laglms.controller;
    
    import com.thunisoft.laglms.pojo.JQGridPojo;
    import com.thunisoft.laglms.pojo.TestEntityPojo;
    import com.thunisoft.laglms.service.TestService;
    import com.thunisoft.maybee.engine.db.feature.PageInfo;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @RequestMapping("/test")
    public class TestController {
    
        @Autowired
        private TestService testService;
    
        @RequestMapping("/gettestentityset")
        @ResponseBody
        public JQGridPojo getTestEntitySet(TestEntityPojo queryvo, PageInfo pageInfo) {
            JQGridPojo jqGridPojo = testService.getTestEntitySet(queryvo, pageInfo);
            return jqGridPojo;
        }
    }
    
  • 相关阅读:
    三、单例模式
    二、工厂模式
    一、设计模式六大原则
    十二、Spring之IOC容器初始化
    PythonWeb开发教程(二),搭建第一个django项目
    PythonWeb开发教程(一),开发之前需要准备什么
    基于python的性能测试工具–locust
    在成为测试大牛的路上,我推荐BestTest
    移动端自动化测试(一)appium环境搭建
    常用工具篇(二)死链接扫描工具–Xenu
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/8853731.html
Copyright © 2011-2022 走看看