先贴一个能用的配置
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//为当前包下的controller生成接口文档
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
//添加登录认证
.securityContexts(securityContexts())
.securitySchemes(securitySchemes());
}
/**
* 配置接口文档基本信息
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("公共系统接口文档")
.description("公共系统接口文档")
//**地方根据需要配置
.contact(new Contact("**", "http:localhost:8080/doc.html", "**@**.com"))
.version("V1.0")
.build();
}
private List<SecurityContext> securityContexts() {
//设置需要登录认证的路径
List<SecurityContext> result = new ArrayList<>();
result.add(getContextByPath("/hello/.*"));
return result;
}
private SecurityContext getContextByPath(String pathRegex) {
return SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex(pathRegex))
.build();
}
private List<SecurityReference> defaultAuth() {
List<SecurityReference> result = new ArrayList<>();
AuthorizationScope authorizationScope = new AuthorizationScope("global",
"accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
result.add(new SecurityReference("Authorization",authorizationScopes));
return result;
}
private List<ApiKey> securitySchemes(){
//设置请求头信息
List<ApiKey> result = new ArrayList<>();
ApiKey apiKey = new ApiKey("Authorization","Authorization","header");
result.add(apiKey);
return result;
}
}
然后是对应的代码的注解
@RestController
@RequestMapping("/admin")
@Slf4j
// 看这个
@Api(tags = "工厂用户相关接口")
public class FactoryUserController {
@Autowired
private IFactoryUserService factoryUserService;
/**
*按照姓名,是否绑定微信,检索工厂人员信息
* @param factoryUserVo
* @return
*/
// 看这个
@ApiOperation(value = "人员信息列表")
@PostMapping("/getFactoryUserList")
@Log("分页查询工厂部门列表")
public JsonResult getFactoryUserList(@RequestBody FactoryUserVo factoryUserVo) {
log.debug("接收到的参数为:{}"+factoryUserVo);
try{
ListVo factoryUserList = factoryUserService.getFactoryUserList(factoryUserVo);
return JsonResult.success(200,"查询成功!!!",factoryUserList);
}catch (Exception e){
throw new ServiceException("请");
}
}
运行程序,跑配置文件中的8080端口后;进行登录
成功后复制token 到这个地方
之后找到自己写的类,填写相应的参数,发送请求即可