用该方法之前要看一下自己swagger的版本,我一开始用的时候,就是因为版本的问题而出错
这是我的maven引用
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.resource.PathResourceResolver;
import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;
import org.springframework.web.util.UrlPathHelper;
import springfox.documentation.annotations.ApiIgnore;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.DocumentationCache;
import springfox.documentation.spring.web.json.Json;
import springfox.documentation.spring.web.json.JsonSerializer;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger.web.ApiResourceController;
import springfox.documentation.swagger.web.SecurityConfiguration;
import springfox.documentation.swagger.web.SwaggerResource;
import springfox.documentation.swagger.web.UiConfiguration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import springfox.documentation.swagger2.mappers.ServiceModelToSwagger2Mapper;
import springfox.documentation.swagger2.web.Swagger2Controller;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* http://127.0.0.1:8080/swagger
*/
@EnableSwagger2
@Configuration
public class SwaggerConfig {
private static final String DEFAULT_PATH = "/swagger";
/**
* SwaggerUI资源访问
*
* @param servletContext
* @param order
* @return
* @throws Exception
*/
@Bean
public SimpleUrlHandlerMapping swaggerUrlHandlerMapping(ServletContext servletContext,
@Value("${swagger.mapping.order:10}") int order) throws Exception {
SimpleUrlHandlerMapping urlHandlerMapping = new SimpleUrlHandlerMapping();
Map<String, ResourceHttpRequestHandler> urlMap = new HashMap<>();
{
PathResourceResolver pathResourceResolver = new PathResourceResolver();
pathResourceResolver.setAllowedLocations(new ClassPathResource("META-INF/resources/webjars/"));
pathResourceResolver.setUrlPathHelper(new UrlPathHelper());
ResourceHttpRequestHandler resourceHttpRequestHandler = new ResourceHttpRequestHandler();
resourceHttpRequestHandler.setLocations(Arrays.asList(new ClassPathResource("META-INF/resources/webjars/")));
resourceHttpRequestHandler.setResourceResolvers(Arrays.asList(pathResourceResolver));
resourceHttpRequestHandler.setServletContext(servletContext);
resourceHttpRequestHandler.afterPropertiesSet();
//设置新的路径
urlMap.put(DEFAULT_PATH + "/webjars/**", resourceHttpRequestHandler);
}
{
PathResourceResolver pathResourceResolver = new PathResourceResolver();
pathResourceResolver.setAllowedLocations(new ClassPathResource("META-INF/resources/"));
pathResourceResolver.setUrlPathHelper(new UrlPathHelper());
ResourceHttpRequestHandler resourceHttpRequestHandler = new ResourceHttpRequestHandler();
resourceHttpRequestHandler.setLocations(Arrays.asList(new ClassPathResource("META-INF/resources/")));
resourceHttpRequestHandler.setResourceResolvers(Arrays.asList(pathResourceResolver));
resourceHttpRequestHandler.setServletContext(servletContext);
resourceHttpRequestHandler.afterPropertiesSet();
//设置新的路径
urlMap.put(DEFAULT_PATH + "/**", resourceHttpRequestHandler);
}
urlHandlerMapping.setUrlMap(urlMap);
//调整DispatcherServlet关于SimpleUrlHandlerMapping的排序
urlHandlerMapping.setOrder(order);
return urlHandlerMapping;
}
/**
* SwaggerUI接口访问
*/
@Controller
@ApiIgnore
@RequestMapping(DEFAULT_PATH)
public static class SwaggerResourceController implements InitializingBean {
@Autowired
private ApiResourceController apiResourceController;
@Autowired
private Environment environment;
@Autowired
private DocumentationCache documentationCache;
@Autowired
private ServiceModelToSwagger2Mapper mapper;
@Autowired
private JsonSerializer jsonSerializer;
private Swagger2Controller swagger2Controller;
@Override
public void afterPropertiesSet() {
swagger2Controller = new Swagger2Controller(environment, documentationCache, mapper, jsonSerializer);
}
/**
* 首页
*
* @return
*/
@RequestMapping
public ModelAndView index() {
ModelAndView modelAndView = new ModelAndView("redirect:" + DEFAULT_PATH + "/swagger-ui.html");
return modelAndView;
}
@RequestMapping("/swagger-resources/configuration/security")
@ResponseBody
public ResponseEntity<SecurityConfiguration> securityConfiguration() {
return apiResourceController.securityConfiguration();
}
@RequestMapping("/swagger-resources/configuration/ui")
@ResponseBody
public ResponseEntity<UiConfiguration> uiConfiguration() {
return apiResourceController.uiConfiguration();
}
@RequestMapping("/swagger-resources")
@ResponseBody
public ResponseEntity<List<SwaggerResource>> swaggerResources() {
return apiResourceController.swaggerResources();
}
@RequestMapping(value = "/v2/api-docs", method = RequestMethod.GET, produces = {"application/json", "application/hal+json"})
@ResponseBody
public ResponseEntity<Json> getDocumentation(
@RequestParam(value = "group", required = false) String swaggerGroup,
HttpServletRequest servletRequest) {
return swagger2Controller.getDocumentation(swaggerGroup, servletRequest);
}
}
}
方法转自: https://blog.csdn.net/qq276726581/article/details/81135520
如果想加上标题之类的,下面的这些也可以放进上面的类中
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//controller的目录
.apis(RequestHandlerSelectors.basePackage("com.swagger.api"))
.paths(PathSelectors.any())
.build();
}
//用来创建该Api的基本信息(这些基本信息会展现在文档页面中)
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swagger")
.description("http://www.baidu.com/")
.termsOfServiceUrl("http://www.baidu.com/")
.version("1.0")
.build();
}
springboot中修改端口号及项目访问路径: 在application.properties配置文件中添加配置信息 SpringBoot笔记系列目录...
一、application.properties配置文件 二、application.yml配置文件 浏览器访问方式:http://localhost:8081/demo1/action-name...
①新建application.yml文件,添加如下代码 ②新建配置类存储yml文件中的配置,可自行设置前缀名,与配置文件中前缀名一致即可 此步骤完成了,当项目启动时,配置文件中的路径就会注入到PathConfig的属性中 注意事项: 1、属性名需要和配置文件中的一致 2、"-"后需要跟一个空格,否则会导致读取的路径名带"-" ③新建主配置类实现WebMvcC...
controller页面跳转...
所有访问路径,都是会发送请求的! Q:为什么一个静态文件html 里面的路径有点能正常访问;有时会报net::ERR_FAILED? A: 跟浏览器的同源策略跟跨域处理有关(同源策略限制了) 浏览器允许跨源访问的方式包括: CORS:跨域资源共享(通过设置HTTP头信息来获取跨源服务器上的特定资源,主要是设置Access-Control-Allow-Origin字段的值) -----...
为什么80%的码农都做不了架构师?>>> 在XXX.jsp页面,标签a的href属性: 例子, 说明:jsp页面里的访问路径,没有以斜杠/开头,表示当前目录下的访问路径(这里说的访问路径,指访问资源) 2. web.xml 说明:jsp页面里面的url,实际上就是servlet类,所以访问路径也是以斜杠/开头的——这个很好理解,因...
Mac 电脑默认Apache的访问目录为:/Library/Webserver/Documents/ 修改步骤如下: 1、打卡apache的配置文件:/etc/apache2 下面的 httpd.conf: 找到如下配置: 2、将 /Library/WebServer/Documents, 现改为你想要访问的目录 ,eg: /Users/username/phpSites, 如下: ...
2019独角兽企业重金招聘Python工程师标准>>> 项目路径去除项目名 修改server.xml,如下: 解读: path属性表明访问helloapp应用的URL入口为“/”。 转载于:https://my.oschina.net/NamiZone/blog/1506043...
2019独角兽企业重金招聘Python工程师标准>>> 部署好axis2的webservice后,默认的访问路径是http://localhost:8081/axis2/services/HeartbeatService/beat?xml= 如何改变红色部分的配置呢? 1、在WEB-INF下面找到web.xml, 修改,url-pattern的值 2、在WEB-INF/conf下...