springboot项目中如何获取请求头当中的token

springboot项目中如何获取请求头当中的token

一.直接在controller层当中直接获取token

在controller层获取前端在请求头中存储的token有两种方式:

获取token方式1

java">     /**
     * 获取请求头中的token方式一
     * @param request
     * @return
     */
    @GetMapping("/testGetToken")
    private apiResult getToken(HttpServletRequest request){

        String token = request.getHeader("token");
        return apiResult.ok(token);

    }

获取token方式2

     /**
     * 获取请求头中的token方式二
     * @param token
     * @return
     */
    @GetMapping("/testGetTokenTwo")
    private apiResult getTokenTwo(@RequestHeader("token") String token){

        return apiResult.ok(token);

    }

二.在service业务层获取token

在service层中获取token需要使用相应的工具类,这里我分享一个有用的工具类。代码如下:

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;

/**
 * 获取请求头中的token工具类
 */
public class UserRequest {
	public static String getCurrentToken() {
		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
				.getRequest();
		String token = request.getHeader("token");
		return token;
	}
}

那么这个工具类如何使用呢?很简单,使用方法如下:

获取token方式3:

直接在相应的service业务层中使用工具类获取当前请求的token

 String token = UserRequest.getCurrentToken();

转载请说明出处内容投诉
CSS教程_站长资源网 » springboot项目中如何获取请求头当中的token

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买