下方为服务代理的配置类,可以配置多个,目前只配置了一个
配置完毕后,前台访问方式,正常的URL+自己配置的代理路由名称+资源地址
item.filepath=ServiceUrl()+'/mediaApi/'+item.mediaList[0].path;
import com.google.common.collect.ImmutableMap;
import org.mitre.dsmiley.httpproxy.ProxyServlet;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.Servlet;
import java.util.Map;
@Configuration
public class ProxyConfig {
//读取配置文件中media文件的路由设置 例如 /mediaApi/* 这种
@Value("${proxy.media.servlet_url}")
private String servlet_media_url;
// 读取配置中代理目标地址 例如 http://XXXX:port
@Value("${proxy.media.target_url}")
private String target_media_url;
@Bean
public ServletRegistrationBean mediaProxyServletRegistration(){
ServletRegistrationBean registrationBean = new ServletRegistrationBean(new ProxyServlet(), servlet_media_url);
registrationBean.setName("media");
//设置网址以及参数
Map params = ImmutableMap.of(
"targetUri", target_media_url,
"log", "true");
registrationBean.setInitParameters(params);
return registrationBean;
}
}



