登陆

spring boot 静态资源访问配置contextPath: /api后,怎样可以不加这个/api也能正常访问

spring boot我在application.yml文件中配置了

server: contextPath: /api

访问静态资源时需要在前面加上/api,怎样可以不加这个/api也能正常访问


# Java
高洛峰高洛峰1843 天前354 次浏览

全部回复(1)我要回复

  • 三叔

    三叔2016-10-29 09:18:05

    设置了contextPath那应用下所有的资源都只能在contextPath目录下访问了,可以使用反向代理来重写URL也是可以做到的。
    当然你如果将contextPath设置为/在api前面增加前缀,这种方式会比较简单。

    比如下面的这种方式。增加一个servlet专门用于api地址访问。

    @Bean
    public ServletRegistrationBean apiV1ServletBean(WebApplicationContext wac) {
        DispatcherServlet ds = new DispatcherServlet(wac);
        ServletRegistrationBean bean = new ServletRegistrationBean(ds, "/api/v1/*");
        bean.setName("api-v1");
        return bean;
    }


    回复
    0
  • 取消回复发送