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;
        }
    }
    
  • 相关阅读:
    如何成为伟大的程序员
    程序员如何增加收入
    一个阿里巴巴码农的六年回眸
    效仿盖茨:PPstream创始人的心路历程
    程序员的工作环境与效率
    软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比
    技术人员创业后就不再适合继续编码了
    互联网行业持续交付的经验
    11 款用于优化、分析源代码的Java工具
    常用 Java 静态代码分析工具的分析与比较
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/8853731.html
Copyright © 2011-2022 走看看