?后臺有權限認證是springboot+jwt+shiro+swagger的升熊,swagger配置token?
1 首先在pom文件引入 依賴:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
接下來: 下面代碼中?
.globalOperationParameters(pars); 是添加前面四行的進去的,前四行是swagger配置token的 代碼中有注釋
package com.example.dscjwtshrio.config;
import com.google.common.collect.Lists;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
@Configuration
@EnableSwagger2
public class Swagger2 {
? ? @Bean
? ? public Docket createRestApi() {
//? ? ? ? ParameterBuilder tokenPar = new ParameterBuilder();
//
//? ? ? ? List<Parameter> pars = new ArrayList<>();
//? ? ? ? tokenPar.name("Authorization").description("token!").modelRef(new ModelRef("string")).parameterType("header").required(false).defaultValue("").build();
//? ? ? ? pars.add(tokenPar.build());
? ? ? ? ParameterBuilder ticketPar = new ParameterBuilder();
? ? ? ? List<Parameter> pars = new ArrayList<Parameter>();
? ? ? ? ticketPar.name("Token").description("user ticket")//Token 以及Authorization 為自定義的參數(shù)蹦肴,session保存的名字是哪個就可以寫成那個
? ? ? ? ? ? ? ? .modelRef(new ModelRef("string")).parameterType("header")
? ? ? ? ? ? ? ? .required(false).build(); //header中的ticket參數(shù)非必填僚碎,傳空也可以
? ? ? ? pars.add(ticketPar.build());? ? //根據(jù)每個方法名也知道當前方法在設置什么參數(shù)
? ? ? ? return new Docket(DocumentationType.SWAGGER_2)
? ? ? ? ? ? ? ? .apiInfo(apiInfo())
? ? ? ? ? ? ? ? .select()
? ? ? ? ? ? ? ? .apis(RequestHandlerSelectors.basePackage("com.example.dscjwtshrio"))
? ? ? ? ? ? ? ? .paths(PathSelectors.any())
? ? ? ? ? ? ? ? .build()
//? ? ? ? ? ? ? ? .securitySchemes(Lists.newArrayList(apiKey()))
? ? ? ? ? ? ? ? .globalOperationParameters(pars);
? ? }
? ? private ApiInfo apiInfo() {
? ? ? ? return new ApiInfoBuilder()
? ? ? ? ? ? ? ? .title("數(shù)據(jù)平臺接口中心")
? ? ? ? ? ? ? ? .description("數(shù)據(jù)平臺接口中心")
? ? ? ? ? ? ? ? .termsOfServiceUrl("http:www.baidu.com/")
? ? ? ? ? ? ? ? .contact("www")
? ? ? ? ? ? ? ? .version("1.0.1")
? ? ? ? ? ? ? ? .build();
? ? }
//? ? private ApiKey apiKey() {
//? ? ? ? return new ApiKey("apikey", "Authorization", "header");
//? ? }
}
3? ?接下來訪問:http://localhost:8080/swagger-ui.html#!/
4? 此時會出現(xiàn)下面這個,然后將token穿進去即可