开始
图片在浏览器上打开,
做服务资源的映射。
实现WebMvcConfigurer
接口里面有一个addResourceHandlers,字面意思是添加资源的助手。它是为我们静态资源做辅助的。
<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/192446/1613912772411-67c564fc-595b-48f3-b89a-af01c70ce44c.png#id=QfAQv&margin=%5Bobject%20Object%5D&name=image.png&originHeight=417&originWidth=621&originalType=binary&size=221834&status=done&style=none)
我们来实现这个接口
把相应的地址进行注册,映射所有资源。
这里3个点,代表可以传入数组
我们的内容是在本地的操作系统的目录
file:/是固定写法,后面跟着就是要映射的地址。
我们要映射的images这个目录之下
后面再加上斜杠,映射本地资源
windows下的配置
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
// 实现静态资源的映射
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("file:D:\\demos\\upload\\"); // 映射本地静态资源
}
}
重启服务
8088,后面加上映射到images后面的路径的地址
http://localhost:8088/21011270605KYX8H/face-21011270605KYX8H.jpg
swagger2
这个时候swagger2的地址无法访问了。这是由于我们上面配置了静态资源的映射,没有为swagger去配置。
添加swagger目录的地址
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
// 实现静态资源的映射
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/") // 映射swagger2
.addResourceLocations("file:D:\\demos\\upload\\"); // 映射本地静态资源
}
}
重启服务测试