0


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

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

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

获取token方式1

     /**
     * 获取请求头中的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();
标签: spring boot 后端 java

本文转载自: https://blog.csdn.net/qq_62923382/article/details/132746828
版权归原作者 Mutig_s 所有, 如有侵权,请联系我们删除。

“springboot项目中如何获取请求头当中的token”的评论:

还没有评论