SpringBoot controller 获取 请求URL中的信息(域名/端口/header等信息)

前言:

前段时间开发的的一个接口是个下载Excel模板的接口,本来是想放在公司的资源服务器上面,后来听组长说正在数据量小并且文件很小的东西可以维护在自己项目中的本地资源,然而问题出现了,我是直接给前端返回一个指向静态资源的URL地址,但是我在dev环境 是dev路径 到test环境还要修改,到生产还要修改,这样每次发版每次修改都很麻烦,今天有时间来看下这个问题,想到了个思路【前端每次请求的时候 我可以直接获取到他请求的url地址信息 然后拼出来静态资源的地址 这样dev/test/生产就不用重复修改了

废话不多说 直接上代码:

   /**
     * PC端模板下载
     */
    @CrossOrigin(value = "*")
    @GetMapping("/downloadFile")
    @ApiOperation(value = "(PC)模板下载", notes = "模板下载")
    @ApiResponses({@ApiResponse(code = 200, response = GenericResponse.class, message = "模板下载成功")})
    public ResponseEntity<?> downloadTemplate(HttpServletRequest request, @RequestParam String productCode, @RequestParam String templateType, String codeType) {

        try {
            System.out.println(request.getServletPath());

            String Turl=request.getServerName()+request.getServerPort();
            String url = iTemplateDownloadService.downloadTemplate(productCode, templateType, codeType,Turl);
            return GenericResponse.ngOk(url);
        } catch (Exception e) {
            return GenericResponse.ng(e.getMessage());
        }

    }

主要是使用了HttpServletRequest 来获取前端请求的url信息:

request.getServerName() //获取域名
request.getServerPort(); //获取端口号

//  其余的你们自己测试就行  我只是举例两个简单的

拼起来就可以实现了:
在这里插入图片描述

看下结果:
在这里插入图片描述成功了 只是少个【:】 哈哈哈 一会我去补上

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值