900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > swagger默认访问路径_spring-boot集成swagger-ui修改默认访问路径

swagger默认访问路径_spring-boot集成swagger-ui修改默认访问路径

时间:2019-04-19 03:21:59

相关推荐

swagger默认访问路径_spring-boot集成swagger-ui修改默认访问路径

private static final String DEFAULT_PATH = "/test";

/**

* 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();

MapurlMap = 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 ResponseEntitysecurityConfiguration() {

return apiResourceController.securityConfiguration();

}

@RequestMapping("/swagger-resources/configuration/ui")

@ResponseBody

public ResponseEntityuiConfiguration() {

return apiResourceController.uiConfiguration();

}

@RequestMapping("/swagger-resources")

@ResponseBody

public ResponseEntity> swaggerResources() {

return apiResourceController.swaggerResources();

}

@RequestMapping(value = "/v2/api-docs", method = RequestMethod.GET, produces = {"application/json", "application/hal+json"})

@ResponseBody

public ResponseEntitygetDocumentation(

@RequestParam(value = "group", required = false) String swaggerGroup,

HttpServletRequest servletRequest) {

return swagger2Controller.getDocumentation(swaggerGroup, servletRequest);

}

}

最终效果:

如果编译报错,请把swagger-ui的版本升级,亲测2.9.2是没有问题的,2.6.4编译不通过

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。