赞
踩
主要用于身份认证和信息传递
maven坐标:
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.12.5</version>
</dependency>
创建解析jwt:
public class jwtDemo { public static void main(String[] args) { Map map = new HashMap(); map.put("name","xiaoming"); map.put("age","18"); Map head = new HashMap(); head.put("type","jwt"); String jwt = Jwts.builder() .signWith(SignatureAlgorithm.HS256,"admin")//指定签名算法 .setClaims(map) //设置自定义数据 .setExpiration(new Date(System.currentTimeMillis() + 3600000)) //设置令牌有效时间一小时 //描述信息,非必要, Jwt的头部(第一部分)默认格式是{"alg":"HS256"} .setHeader(head) .compact();//生成令牌,返回字符串 System.out.println(jwt); // 解析令牌 Jws<Claims> parserJwt = Jwts.parser().setSigningKey("admin")//指定签名秘钥 .parseClaimsJws(jwt); String signature = parserJwt.getSignature(); Map header = (Map)parserJwt.getHeader(); Map body = (Map)parserJwt.getBody(); System.out.println(signature); System.out.println(header); System.out.println(body); } }
官网
Knife4j是为javaMVC框架集成Swagger生成API文档的增强解决方案
使用:
1. 导入maven坐标
2. 配置knife4j
3. 设置静态资源映射,重写方法addResourceHandlers,需要继承WebMvcConfigurationSupport
maven坐标:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
配置类配置:
@Bean
public Docket docket() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("接口文档标题")
.version("2.0")//版本
.description("接口文档描述")
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("扫描的包"))
.paths(PathSelectors.any())
.build();
return docket;
}
配置类资源映射:
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
swagger常用注解:
@Api //对类的说明
@ApiModel // 描述模型,如实体类
@ApiModelProperty // 对属性的说明,如实体类中的变量
@ApiOperation // 对方法的说明
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。