通过 java 实现 http 接口代理

以代理开源流媒体服务器为例,前端通过访问 java 服务器间接的去请求 zlm 服务器

@RestController
@RequestMapping("/zlm")
public class ZLMHTTPProxyController {
    @ResponseBody
    @RequestMapping(value = "/**/**/**", produces = "application/json;charset=UTF-8")
    public Object proxy(HttpServletRequest request, HttpServletResponse response){
        String requestURI = String.format("http://%s:%s%s?%s&%s",
                "127.0.0.1",
                "8080",
                request.getRequestURI().replace("/zlm",""),
                "示例参数",
                request.getQueryString()
        );
        // 发送请求
        RestTemplate restTemplate = new RestTemplate();
        //将指定的url返回的参数自动封装到自定义好的对应类对象中
        Object result = null;
        try {
            result = restTemplate.getForObject(requestURI, Object.class);

        }catch (HttpClientErrorException httpClientErrorException) {
            response.setStatus(httpClientErrorException.getStatusCode().value());
        }
        return result;
    }
}

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:通过 java 实现 http 接口代理

字数:161

本文作者:夏来风

发布时间:2021-01-03, 12:37:24

原始链接:http://www.demo1024.com/blog/java-web-proxy/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。